我试图定义一系列字典,然后在下面遍历它们。我尝试将字典名称放入列表中进行迭代,但这会引发错误,即字符串没有.keys()
方法。我认为这是因为Python认为列表中的值只是字符串,并不表示上面的字典。
我不知道我还能怎么编码。代码在这里:
prem_year_map = {
2011: 2935,
2012: 3389,
2013: 3853,
2014: 4311,
}
year_tournament_map = {
2013: 8273,
2012: 6978,
2011: 5861,
2010: 4940,
}
tournament_list = [prem_year_map, year_tournament_map]
for x in tournament_list:
years = sorted(tournament_list.keys())
print years
谁能建议另一种方法?
谢谢
我认为这是因为Python认为列表中的值只是字符串,并不表示上面的字典。
这个不对。Python中的列表可以包含任何类型的引用。
您只需要使用object.keys()
而不是tournament_list.keys()
(后者是您要求列表中的键,该键不存在-字典具有键)
for x in tournament_list:
years = sorted(x.keys())
print years
正如@JonClements指出的那样,您还可以使用sorted(x)
它返回一个列表(在Python 2.x中效率更高)。请注意,由于标准字典无法保留顺序,因此它无法返回字典。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句