我对 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', '值']
谁能解释一下为什么? (append vs. extend 不适用于此)
请您参考如下方法:
list.extend() 接受一个可迭代对象并追加该可迭代对象的所有元素。默认情况下,字典会遍历其键,因此所有键都会附加到列表中。
list.append() 按原样获取对象并将其添加到列表中,这正是您的代码中发生的事情。
