繁体   English   中英

python列表追加与扩展字典

[英]python list append versus extend for dictionaries

我对应该包含字典的列表的python appendextend有一些困惑:

holder = []

element = {}

element["id"] = 1
element["value"] = 2

holder.append(element)

print(holder)

按预期方式打印[{'id': 1, 'value': 2}]

但是,如果我使用: holder.extend(element)而不是holder.append(element)则输出将是: ['id', 'value']

有人可以解释我为什么吗? 追加与扩展不适用于此)

list.extend()接受一个iterable,并附加该iterable的所有元素。 默认情况下,Dictionary会对其键进行迭代,因此所有键都将附加到列表中。

list.append()获取对象并将其添加到列表中,这正是代码中发生的情况。

在执行append ,它会添加一个东西element ,即字典。
这样做extend ,它增加的每一件事情element ,如果element是一个列表:

>>> element = {}
>>> element["id"] = 1
>>> element["value"] = 2
>>> list(element)
['id', 'value']

对于字典,它会在键上进行迭代。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM