Python 具有多个键的集合defaultdict

Python 具有多个键的集合defaultdict,python,csv,collections,defaultdict,Python,Csv,Collections,Defaultdict,我使用collection defaultdict在python中读取一个巨大的CSV文件。我的csv标题是这样的: main_id, id1, value_x, id2, id3, id4, value_y, value_z, value0 我能够逐行读取文件,并使用main\u id作为默认键。是否可以使用多个键,使字典类似于dict[main_id,id1,id2,id3,id4]?使用元素的元组。所以你会有 data = dict() data[(main_id,id1,id2,id3

我使用collection defaultdict在python中读取一个巨大的CSV文件。我的csv标题是这样的:

main_id, id1, value_x, id2, id3, id4, value_y, value_z, value0

我能够逐行读取文件,并使用
main\u id
作为默认键。是否可以使用多个键,使字典类似于dict[main_id,id1,id2,id3,id4]?

使用元素的
元组。所以你会有

data = dict()
data[(main_id,id1,id2,id3,id4)]
或者干脆

data = dict()
data[main_id,id1,id2,id3,id4]  # defaults to a tuple

这正是你想要做的。

是的。你为什么这么问?你有没有试过,但没用?你试了什么
dict[main_id,id1,id2,id3,id4]
是完全有效的语法(尽管您永远不应该使用
dict
作为变量名)。括号是不必要的,所以这个答案实际上并没有给这个问题增加任何东西……而且对于一个变量来说,
dict
仍然是一个可怕的名字。我对答案做了一些修改,因为
dict
是一个非常糟糕的变量name@TimPietzcker:我不知道!谢谢你的澄清。当然。大多数人没有意识到是逗号而不是圆括号构建了一个
元组。