首页 > 解决方案 > Python:将 x,y,z 数据转换为以 x,y 作为元组键的字典

问题描述

我对 Python 知之甚少,而且我的 Google 技能让我失望。我已经导入了一个 csv 并得到了一个列表:

a = ([x1,y1,z1]...[xn,yn,zn])

我想要一本字典,其中唯一的x,y组合具有它们的所有z值。我创建了一个x,y作为元组的唯一值列表,但我不确定如何将它们变成一个字典,其中元组是键,并且z为每个键列出值。有人有任何指示吗?

这种情况下的具体用途是我有各种 x,y 坐标,它们都有一个与之关联的值,最终目标是找到每个 x,y 坐标的最大值,这看起来就像创建一个字典是正确的方法。

示例:给定

a = ([1, 1, 10], [1, 1, 20], [1, 1, 30], [1, 2, 10], [1, 2, 20]) b = dict()

我想生成一个 print(b) 返回的字典

{(1,1): 10, 20, 30, (1,2): 10, 20}

再次编辑:

我尝试了下面的方法,它们似乎有效,但后来我意识到我的 .csv 的值是作为字符串导入的。我开始四处寻找解决方案,并看到了使用 pandas 的建议。好吧,30 分钟后,现在我写了一些东西,它可以导入、按 x、y 列排序,并在大约 10 行中导出每个列的最大值,所以我一开始就以一种非常笨拙的方式处理这个问题。不过感谢您的指点:)

标签: python

解决方案


一个简单的dict理解

{(item[0],item[1]):item[2] for item in a}

推荐阅读