我必须编写以下函数(以及我尝试编写它的方式)。显然我的代码有问题,否则我不会在这里发布 :) 根据我尝试使用它时它给我的消息,我知道出了什么问题,而且我明白它是什么 - 写 image_dict[0][ 1] 不起作用,因为 key 不是 0。我需要知道如何使用它的确切 key ,但当然 key 可以是任何东西,所以我想知道我是否可以轻松地更改我的代码,以便它适用于任何 key 。例如,我可以用一些东西代替 0 以便它适用于所有键,而不必指定确切的键吗?谢谢!
def create_date_dict(image_dict):
'''(dict) -> dict
Given an image dictionary, return a new dictionary
where the key is a date and the value is a list
of filenames of images taken on that date.
>>> d = {'image1.jpg': ['UTSC', '2017-11-03','Happy Friday']}
>>> date_d = create_date_dict(d)
>>> date_d == {'2017-11-03': ['image1.jpg']}
True
'''
result = {}
for (k, v) in image_dict.items():
result[image_dict[0][1]] = [image_dict[0]]
return result
请您参考如下方法:
我从@coldspeed学到的另一个很酷的方法摆脱进口:
# Data from @Miraj50
d = {'image1.jpg': ['UTSC', '2017-11-03','Happy Friday'], 'image2.jpg': ['UTSC', '2017-09-04','Happy Monday'], 'image3.jpg': ['UTSC', '2017-11-03','Happy Monday']}
k = {}
for x, y in d.items():
k.setdefault(y[1], []).append(x)
{'2017-09-04': ['image2.jpg'], '2017-11-03': ['image1.jpg', 'image3.jpg']}
