Python 创建列表字典

标签 python list dictionary

好的,我进行了搜索,但没有找到我的具体问题的答案。我正在创建一个列表字典。我有 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)

这是一个very useful resource

但是,既然你想要 [[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/

相关文章:

Python:跟踪列表中移动的元素

python - 如何知道何时在 Python 中管理资源

python - 我怎么能: Generate 40/64 Bit WEP Key In Python?

python - 在每个映射器之间共享特定数据

r - 在嵌套列表中查找索引位置以进行匹配

python - 如何在不修改该参数的情况下更新由基类的可变默认参数创建的属性?

python - 使用自定义证书文件在代理后面进行 Pip

list - 什么是Prolog中的 “!”

javascript - 以功能方式修改对象的属性

Swift Guard else 调用具有 NULL 值的字典键