python - 无法在 python 列表中追加字典列表

标签 python list dictionary

我正在尝试输出具有唯一用户 ID 的字典列表。我使用以下代码来实现此目的:

import json
import random
import string

def random_string_generator(size=15, chars=string.ascii_uppercase + string.digits):
    return '#' + ''.join(random.choice(chars) for _ in range(size))

list_users = ['user_id'] * 5

data = {}
list_json = []
for user in list_users:
    data['user_id'] = random_string_generator() # function to generate a unique key
    list_json.append(data)
print(list_json)

但是,我的代码输出给出以下内容:

[{'user_id': '#J1FTZ3TLOITMVW6'}, {'user_id': '#J1FTZ3TLOITMVW6'}, {'user_id': '#J1FTZ3TLOITMVW6'}, {'user_id': '#J1FTZ3TLOITMVW6'}, {'user_id': '#J1FTZ3TLOITMVW6'}]

我想知道为什么列表中一遍又一遍地填充相同的项目?

最佳答案

因为您使用相同的键 user_id 一遍又一遍地附加字典。

所以你已经有了字典列表。

关于python - 无法在 python 列表中追加字典列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51341361/

相关文章:

python - xlsxwriter: "inf"值如何可以不着色?

python - 使用 Python 进行约束 MLE

c++ - 使用迭代器从列表中打印结构值

list - 从python中的对象列表中提取属性列表

c# - 属性字典的速度比使用 switch 语句慢

iphone - CGPDFDictionary引用一些有用的东西

python - 类型错误 : __init__() got an unexpected keyword argument 'method'

python - 针对 tensorflow 诗人中其他架构对评估.py 进行的修改

python - 如何删除(或取消网格)存储在列表中的 Tkinter GUI 对象 (Python)

python - python3.6中根据提供的输入动态地将一个字典拆分为多个字典