我需要帮助我的代码。Python:使用一个整数和一个字符串作为键将嵌套列表转换为字典
我不得不作出这样一个嵌套列表:
numbers = [[4, 1, 1, 2, 3, 2], [2, 7, 3, 2, 7, 4], [1, 7, 4, 3, 3, 2]]
我也有字符串列表:
F = ["M", "O", "R", "V", "C", "P"]
我要将列表转换频率在词典中。 我的代码是这样的:
numb = dict(((i,f), numbers[i][f]) for i in range(len(numbers)) for f in range(len(numbers[0])))
这是结果:
{(0, 1): 1, (1, 2): 3, (2, 4): 3, (0, 0): 4, (2, 0): 1, (2, 2): 4, (1, 4): 7, (1, 1): 7, (1, 5): 4, (1, 3): 2, (0, 5): 2, (2, 1): 7, (2, 5): 2, (0, 4): 3, (1, 0): 2, (2, 3): 3, (0, 3): 2, (0, 2): 1}
的问题是,我想使用的清单f串为f在我的字典的关键。我想有:
{(0, "O"): 1, (1, "R"): 3, (2, "V"): 3, (0, "M"): 4, ... (0, "O"): 1}
我试图改变这样的我的代码:
numb = dict(((i,f), numbers[i][f]) for i in range(len(numbers)) for f in F)
,但我得到的回报一个TypeError: list indices must be integers, not str
有没有一种办法可以解决呢?先谢谢你!
我猜流浪括号。仔细查看错误消息,它会告诉你_where_语法错误被发现(但不是真正的错误所在)。 – alexis
您在最后的代码片段 –
@KindStranger中有太多密切的偏见''''谢谢。我有正确的括号,但现在我获得了另一种类型的错误 – killua