Converting a list to dictionary in python
我问了很多问题,但找不到我要找的东西。我有一个这样的列表:[2, 3, 5, 7, 11]。我想把它转换成字典的格式:也就是说,列表的值应该是键,每个相关的值应该是零。江户十一〔一〕号
- {x:0 for x in a},其中a是您的初始列表
听写理解就行了。
1 2
| my_list = [2, 3, 5, 7, 11]
my_dict = {k: 0 for k in my_list} # {2:0 , 3:0 , 5:0 , 7:0 , 11:0} |
即使你对理解一点都不熟悉,你仍然可以做一个明确的for循环:
1 2 3
| my_dict = {}
for k in my_list:
my_dict[k] = 0 |
号
- 甚至是dict.fromkeys(my_list,0)。
- 在堆栈溢出周围有许多重复的答案。如果操作实际上只是谷歌他的问题,它将链接到至少3…也许可以尝试标记它而不是促进这种行为。但不管怎样,这是一个答案
- 实际上,我不知道要搜索的确切术语。P
- @ev.kounis是否可以通过循环或其他方式(在初始化字典之后)更改(我的意思是增加或减少)与每个键关联的值?
- 对于特定的键还是所有键?
- @ev.kounis我要做的是将每个键的值初始化为0。之后,我想在一个数字列表中运行一个for循环。如果在字典中找到的值是同一个数字,我希望每次找到该数字时都增加它的键。当我试图访问该值时,上面的方法会产生一个错误:"int"对象不可iterable"。长话短说:特定关键
- 埃多克斯1〔2〕
另一个解决方案:
1 2 3 4 5
| l = [2, 3, 5, 7, 11]
d = {}
for item in l:
d[item] = 0 |