我有一个名为
anime_dict的变量,其中包含对象列表的字典,如下所示。
{'JI2212': ('Inu Yasha', [('year', 1992), ('rating', 3)]), 'EH389J': (Naruto', [('year', 1994), ('rating', 4), ('readers', 3424322)]), 'PPP67': ('Fruits Basket', [('Year', 1999), ('rating', 5), ('readers', 434232), ('chap', 40)])}
get_key(name) and get_parts(name)
例如
>>>get_key('Fruits Basket')
'PPP67'
and
>>>get_parts('Inu Yasha')
[('year', 1992), ('rating', 3)]
答案 0 :(得分:1)
技术上可能,但我不建议您这样做,因为效率不高,地图旨在使用键获取值。在您的情况下,我认为最好从以下方面恢复您的数据:
{'JI2212': ('Inu Yasha', [('year', 1992), ('rating', 3)])}
到
{'Inu Yasha': ('JI2212', [('year', 1992), ('rating', 3)])}
然后很容易实现你的目标。
答案 1 :(得分:0)
有keys
和values
方法。使用这些,不要逐个输入,它会非常慢,因为按值搜索键是线性的。
答案 2 :(得分:0)
你应该让你的钥匙成为动漫名字,它会让生活变得更轻松。
例如,现在插入的字典如下:
anime_dict[id] = (name,...)
更好的方法是:
anime_dict[name] = (id,...)
除非您有特定原因,否则密钥是id,这种方式通常更容易理解和使用。
答案 3 :(得分:0)
如果您只想将原始字典转换为新字典,可以运行以下命令:
old_dict = {'JI2212': ('Inu Yasha', [('year', 1992), ('rating', 3)]), 'EH389J': ('Naruto', [('year', 1994), ('rating', 4), ('readers', 3424322)]), 'PPP67': ('Fruits Basket', [('Year', 1999), ('rating', 5), ('readers', 434232), ('chap', 40)])}
new_dict = {}
for key in old_dict.keys():
name = old_dict[key][0]
data = old_dict[key][1:]
new_dict[name]=(key, data)
希望它有所帮助!