【问题标题】:Make Dictionary from 2D Array Python?从 2D 数组 Python 制作字典?
【发布时间】:2015-08-03 21:42:59
【问题描述】:

我有一个二维数组,如下所示。

[['FE0456143', '218.04'], ['FB1357448', '217.52'], ['FB1482960', '222.70'], ['FB1483107', '223.32'], ['FE0456556', '12429.67'], ['FE0456594', '213.71'], ['FB1483056', '218.86'], ['FE0456061', '12392.33'], ['FB1482479', '223.35']]

第一个元素是键,第二个是值。我试过了:

keys = zip(*data)[0]
vals = zip(*data)[1]
dic(zip(keys,vals)) 

但是数组的某些元素可能有重复的键,并且元素不对应?我希望所有键都有 3 个与之关联的值吗?

【问题讨论】:

  • 仅供参考,您可以使用dict(data)创建您的字典
  • @MartinKonecny 出于某种原因切断了与相似键关联的一些值??

标签: python arrays dictionary


【解决方案1】:

听起来你想要一个1 to many 映射。如果你将你的值设为list,你就可以拥有这个:

from collections import defaultdict

d = defaultdict(list)

for k, v in data:
    d[k].append(v)

【讨论】:

  • 感谢您向我展示了聋哑人的用法!正是我想要的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-13
  • 2016-06-09
  • 1970-01-01
相关资源
最近更新 更多