迭代python中的特定键集

时间:2012-11-30 21:15:11

标签: python

我在python中有一个字典,日期元组作为键,数据元组作为值。

一个例子可能是:

(1900, 1): (2.0, 3.0, 4.0)

其中1900年是1900年,1月是第一个月,1月。

关键元组如下所示:(1900,2),(1900,3)等等。

如何迭代这样的字典?特别是每年的第一个月,因此键集看起来像(1900,1)...(1910,1),元组中的第一项递增,但第二项保持不变。

感谢您给我的任何帮助,因为我对python相对较新。

3 个答案:

答案 0 :(得分:3)

for key in sorted(my_dict, key=operator.itemgetter(1,0)):
    print(my_dict[key])

答案 1 :(得分:0)

for key, value in myDict.items():
   if(key[1] == 1):
      for value in myDict[key]:
         # gave you the year too for handy access
         iterationLogic(key[0], value)
啊,没注意到排序的密钥访问。另一篇文章给出了对字典进行排序的逻辑

答案 2 :(得分:0)

我最初的反应是更好的数据结构可能是嵌套的dict,其中第一个键是年份,第二个键是月份:

#data looks like this:
d = {1900: {1:(the data), 2:(the data)...}, 1901: {1:(the data)...}}

for year in data:
    print year[1]