【问题标题】:collection defaultdict with multiple keys具有多个键的集合 defaultdict
【发布时间】:2014-04-11 09:57:45
【问题描述】:

我使用集合 defaultdict 在 python 中读取一个巨大的 CSV 文件。我有类似的 csv 标头:

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

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

【问题讨论】:

  • 是的。你为什么要问?你试过了吗,它没有用?你尝试了什么? dict[main_id,id1,id2,id3,id4] 是完全有效的语法(尽管你不应该使用 dict 作为变量名)。

标签: python csv collections defaultdict


【解决方案1】:

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

data = dict()
data[(main_id,id1,id2,id3,id4)]

或者干脆

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

这正是你想要做的。

【讨论】:

  • 括号是不必要的,所以这个答案实际上并没有给问题添加任何东西......而且dict 仍然是一个可怕的变量名称。
  • 我已经稍微修改了答案,因为dict 是一个真的错误的变量名
  • @TimPietzcker:我不知道!谢谢你的澄清。
  • 当然。大多数人没有意识到构建tuple的是逗号,而不是括号。
猜你喜欢
  • 2021-08-01
  • 2015-06-06
  • 2013-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-17
  • 2020-09-13
相关资源
最近更新 更多