好的,我进行了搜索,但没有找到我的具体问题的答案。我正在创建一个列表字典。我有 while 循环创建一些值列表以及与之关联的名称:
dict = {}
list = [1, 2]
name = key1
list = [3, 4]
name = key1
如果名称相同,列表将附加到键的现有值集。这是我的代码:
if key in dict:
dict[key].append(list)
else:
dict[key] = list
这是我想要的输出:
dictionary = {'key1': [1, 2], [3, 4]}
但是我一直得到这个输出:
dictionary = {'key1': [1, 2, [3, 4]]}
键的第二个列表被放置在第一个列表中。
最佳答案
这是一个非常常见的错误。我相当确定你正在做:
list1.append(list2)
相反,你想做的是:
list1.extend(list2)
但是,既然你想要 [[1,2], [3,4]]
而不是 [1,2,3,4]
,你应该这样做:
if key in d1:
d1[key].append(l1)
else:
d1[key] = [l1]
关于Python 创建列表字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29735015/