在列表中存储多个词典并在列表中迭代

2024-06-26 13:24:41 发布

您现在位置:Python中文网/ 问答频道 /正文

好的,假设我有一个for循环,它生成一个字典,我如何将字典存储在一个列表中,然后在列表上迭代并提取字典我知道这有点让人困惑,所以这里有一个例子

for _ in 10:
    DB = {}
    DB["x"] = 1
    DB["y"] = 2
    DB["z"] = 3
    StoreDBInList(DB)

然后我就可以迟到了

for DB in list:
    print(DB["x"])
    print(DB["y"])
    print(DB["z"])

Tags: in列表fordb字典list例子print
1条回答
网友
1楼 · 发布于 2024-06-26 13:24:41

好的,克里斯回答了我的问题

在for循环和my_list.append(DB)之前设置my_list=[]

在第一个循环之后,您可以只为my_列表中的DB打印(DB[“x”]),依此类推

my_list = []

for _ in range(10):
    DB = {}
    DB["x"] = 1
    DB["y"] = 2
    DB["z"] = 3
    my_list.append(DB)

for DB in my_list:
    print(DB["x"])
    print(DB["y"])
    print(DB["z"])
网友
2楼 · 发布于 2024-06-26 13:24:41

初始化循环外部的列表。附加到循环内的列表。稍后在循环中迭代列表时,每个元素都是您先前创建的dict

lst = []
for i in range(3):
    dct = {'x': i, 'y': (i+1), 'z': (i+2)}
    lst.append(dct)

print(lst)
# [{'x': 0, 'y': 1, 'z': 2}, {'x': 1, 'y': 2, 'z': 3}, {'x': 2, 'y': 3, 'z': 4}]

for dct in lst:
    print(dct['x'])
    print(dct['y'])
    print(dct['z'])
# 0
# 1
# 2
# 1
# 2
# 3
# 2
# 3
# 4

相关问题 更多 >