Skip to main content
 首页 » 编程设计

python之从以前字典中的值创建新字典

2025年05月04日19kenshinobiy

我必须编写以下函数(以及我尝试编写它的方式)。显然我的代码有问题,否则我不会在这里发布 :) 根据我尝试使用它时它给我的消息,我知道出了什么问题,而且我明白它是什么 - 写 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']}