我有一个列表列表,我希望创建一个以每个元素的长度作为值的字典。我尝试了以下方法:
tmp = [['A', 'B', 'E'], ['B', 'E', 'F'], ['A', 'G']]
tab = []
for line in tmp:
tab.append(dict((k, len(tmp)) for k in line))
但它的输出是:
[{'A': 3, 'B': 3, 'E': 3}, {'B': 3, 'E': 3, 'F': 3}, {'A': 3, 'G': 3}]
我应该做什么修改来获得输出:
{['A', 'B', 'E']:3, ['B', 'E', 'F']:3, ['A', 'G']:2}
提前谢谢。你知道吗
美联社
输入:
输出:
Dictionnary不接受list作为键,但接受tuple
不能将
list
对象用作字典键,它们是可变的和不可修改的。你可以把它们转换成元组。还要注意的是,您正在遍历每个子列表。只能通过在主列表上循环来使用生成器表达式:相关问题 更多 >
编程相关推荐