【发布时间】:2018-07-17 07:17:56
【问题描述】:
我的一个 API 调用返回一个多维数据的字典。 dict 中的每一项都是一条数据,对应于表单中的一个键
"index1:index2: ... :indexN"
这是一个由冒号分隔的整数字符串,表示数据项出现在第一个维度的index1,第二个维度的index2,依此类推,直到第N个维度的indexN。
我想获取这本数据字典并使用它来填充多维列表以进行进一步分析。理想情况下,这意味着迭代dict并将键解释为索引列表,la
index_list = [int(i) for i in key.split(':')]
不幸的是,我正在自动化几个相关(但不同)的 API 调用来填充数据包装类的几个不同实例,并且数据集不是固定维度的。因此,我不能硬编码这样的作业
data[index1][index2]...[indexN] = dict[key]
有没有一种 Pythonic 方法可以使用第二个列表作为索引值来创建、访问和修改多列表? “感觉像”的东西
data[*args] = dict[key]
与
args = index_list
也许(尽管这显然是无意义的伪代码)?
【问题讨论】:
-
你误用了
dict这个名字,造成了很多混乱。请把它改成另一个名字。作为带有冒号注释的字符串,您所拥有的只是一个字符串。这里没有dict。 -
不,它是一个字典。用冒号注释的字符串是与字典中的数据条目相对应的键。 dict 看起来像数百个 {"index1:index2:...:indexN" : data_val} 条目
-
@MichaelCromer,不,您的帖子中没有定义任何字典。请提供 minimal reproducible example。
-
@jpp 这是真的,但与最初的评论无关。我会提供一个 MWE,但是您如何编写一个工作示例来展示您所询问的编程概念的存在?我不能为我不知道的事情写一个“工作示例”;这就是问题的目的。 你将如何编写 MWE?
-
以
An API call of mine returns a dict of multi-dimensional data.开头为什么不打印此内容的摘录?然后在您的问题中明确定义它。喜欢my_dict = {1: 'adsfasdf', 2: 'fsgsd'}。
标签: python python-3.x dictionary multidimensional-array