[英]python list append versus extend for dictionaries
我对应该包含字典的列表的python append
与extend
有一些困惑:
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.