且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

附加到 Python 中的列表:每次都添加最后一个元素?

更新时间:2023-11-10 10:24:04

您正在重复使用和添加一个字典.如果您想要单独的词典,请每次附加一个副本:

You are reusing and adding one single dictionary. If you wanted separate dictionaries, either append a copy each time:

records = []
record = {}
for i in range(2):
    record['a'] = i  
    for j in range(2):
        record['b'] = j
        records.append(record.copy())

或者每次创建一个新字典:

Or create a new dictionary each time:

records = []
for i in range(2):
    for j in range(2):
        record = {'a': i, 'b': j}
        records.append(record)

后一种方法适用于转换为列表理解:

The latter approach lends itself to translation to a list comprehension:

records = [{'a': i, 'b': j} for i in range(2) for j in range(2)]