在python中遍历一个特定的密钥集



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

例如:

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

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

密钥元组如下:(1900,2),(1900,3)等等

我怎样才能对这样的字典进行迭代?特别是每年的第一个月,所以密钥集看起来像(1900,1)。。。(1910,1)元组中的第一项递增,但第二项保持不变。

谢谢你能给我的任何帮助,因为我对python还比较陌生。

for key in sorted(my_dict, key=operator.itemgetter(1,0)):
print(my_dict[key])
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)

啊,没有注意到排序的密钥访问。另一篇文章给出了对字典进行排序的逻辑

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

#data looks like this:
d = {1900: {1:(the data), 2:(the data)...}, 1901: {1:(the data)...}}
for year in data:
print year[1]

最新更新