在python字典中存取数据

在python字典中存取数据,python,list,dictionary,Python,List,Dictionary,所以我有这个代码: dic1 = { "data1":1, "data2":2, "data3":3} dic2 = { "data1":4, "data2":5, "data3":6} dic3 = { "data1":7, "data2":8, "data3":9} data = [dic1, dic3, dic2] 如果输入是列表,如何从函数访问字典中的数据 因此,如果我有一个关于: for x in data: if x == "dic1": print dic1["da

所以我有这个代码:

dic1 = { "data1":1, "data2":2, "data3":3}
dic2 = { "data1":4, "data2":5, "data3":6}
dic3 = { "data1":7, "data2":8, "data3":9}

data = [dic1, dic3, dic2]
如果输入是列表,如何从函数访问字典中的数据

因此,如果我有一个关于:

for x in data:
  if x == "dic1":
    print dic1["data1"]
    print dic1["data2"]
  elif x == "dic2":
    print dic2["data1"]
and so on......
这将起作用,但这只是因为我知道这些字典存在,但如果创建了另一个字典,那么该方法显然不起作用,那么我该如何做呢。

使用

for x in data:
    for k, v in x.items():
         print k, v
因此,这里的关键是使用
items
方法访问字典的元素。

使用

for x in data:
    for k, v in x.items():
         print k, v

因此这里的关键是使用
items
方法访问字典的元素。

第一个循环迭代字典,第二个循环迭代第一个循环考虑的字典的键。然后打印每个元素:

for dictionary in data:
    for key in dictionary:
        print dictionary[key]

第一个循环迭代字典,第二个循环迭代第一个循环考虑的字典键。然后打印每个元素:

for dictionary in data:
    for key in dictionary:
        print dictionary[key]

x
在您的示例中是
dict
,而不是
dict
键。
x
在您的示例中是
dict
键,而不是
dict
键。