我是Python的新手(和一般编程人员),但是我有一个字典,键是元组,我想用与列表相同的键来制作一个新的字典。

这是我的意思:

我有:

d = {("apple", "banana", "pear", "pineapple"):24,
("banana", "pineapple", "apple", "pear"):17,
("pineapple", "pear", "banana", "apple"):10,
("apple", "pineapple", "banana", "pear"):16}


我想要:

new_d = {["apple", "banana", "pear", "pineapple"]:24,
["banana", "pineapple", "apple", "pear"]:17,
["pineapple", "pear", "banana", "apple"]:10,
["apple", "pineapple", "banana", "pear"]:16}


有没有一种简单的方法使用for循环和if语句来做到这一点?

最佳答案

列表不可散列,因此不能是字典中的键。

为什么要让您的钥匙成为清单?如果您当前正在调用一个函数

expect_iterable_of_lists(d.keys())


,您可以简单地组合maplist

expect_iterable_of_lists(map(list, d.keys()))

07-26 04:57