我有两个清单:
a = [0, 0, 0, 1, 1, 1, 1, 1, .... 99999]
b = [24, 53, 88, 32, 45, 24, 88, 53, ...... 1]
我想将这两个列表合并成一个字典,例如:
{
0: [24, 53, 88],
1: [32, 45, 24, 88, 53],
......
99999: [1]
}
一个解决方案可能是使用for
循环,看起来不太美观,例如:
d = {}
unique_a = list(set(list_a))
for i in range(len(list_a)):
if list_a[i] in d.keys:
d[list_a[i]].append(list_b[i])
else:
d[list_a] = [list_b[i]]
尽管此方法确实有效,但效率很低,并且当列表很大时会花费太多时间。我想知道构造这种字典的更优雅的方法吗?
提前致谢!
您可以使用defaultdict:
from collections import defaultdict
d = defaultdict(list)
list_a = [0, 0, 0, 1, 1, 1, 1, 1, 9999]
list_b = [24, 53, 88, 32, 45, 24, 88, 53, 1]
for a, b in zip(list_a, list_b):
d[a].append(b)
print(dict(d))
输出:
{0: [24, 53, 88], 1: [32, 45, 24, 88, 53], 9999: [1]}
我想在Python2.7中并行化两个嵌套的for循环,但我自己没有成功。我不知道如何接近什么是并行化的定义。 总之,这里是单处理器代码:
rbindlist做的正是我需要的,但'do.call'做不到! do.Call不是我想要的
问题内容: 我该如何列出这样的词典列表。 …变成这样的单个字典: 问题答案: 这适用于任何长度的字典: 作为一个理解:
本文向大家介绍python字典嵌套字典的情况下找到某个key的value详解,包括了python字典嵌套字典的情况下找到某个key的value详解的使用技巧和注意事项,需要的朋友参考一下 最近在用python写接口的测试程序,期间用到解析字典获取某个key的value,由于多个接口返回的字典格式不是固定的并存在多层嵌套的情况。在字典的方法中也没有找到可直接达到目的的方法(也可能是我对字典的方法了解
我有一个非常基本的函数,它搜索的数组列表,并返回与传递给它的参数匹配的帐户。但是,一旦抛出CustomerAccountNotFoundException,我的for循环就会中断。 我通过在异常后打印的值来测试这一点,该值一直被重置为0。如何在抛出异常后继续循环?我希望每次帐户不匹配时都抛出它,当它匹配时返回帐户。我还尝试过但不起作用。
问题内容: 我有两个长度相同的清单: 和 我想在我有的地方创建字典 最好的方法是什么? 问题答案: dict(zip([1,2,3,4], [a,b,c,d])) 如果列表很大,则应使用。 如果键的数量多于值,并且您想为额外的键填写值,则可以使用。 这里,,,和是变量-它会正常工作(只要它们被定义),但你可能是指,如果你希望他们为字符串。 从每个可迭代对象中获取第一个项目,并生成一个元组,然后从每