python-3.x - 读取存储在列表中的索引
问题描述
我有一个存储为列表的数据集。我希望能够检索不同的数据片段并更改它们。我需要的片段索引存储在不同的列表中。
例如:
data_list = [[[1,2],[3,4]],[5,6]]
indices = [[0,0,1],[1,0]]
在这种情况下,我可能想检索data_list[0][0][1]
并将data_list[1][0]
它们更改为 value 6
,但我不能简单地这样做data_list[indices[0]] = 6
。有没有好的方法来做到这一点?
解决方案
您可以尝试遍历所有键/子键,直到获得所需的数据。
您可以做的是将变量设置为data_list
对索引的引用并循环遍历索引并移动引用直到它指向最低的嵌套列表。
然后,您可以将最低列表中的值设置为您需要的任何值。
data_list = [[[1,2],[3,4]],[5,6]]
indices = [[0,0,1],[1,0]]
for *path, final in indices:
val = data_list
for i in path:
val = val[i]
val[final] = 6
print(data_list)
推荐阅读
- java - 使用地图值处理地图
- android - React Native 应用程序在启动时不断崩溃 [仅在 Android Oreo 上]
- java - 使用spring java复制mongo文档的最佳方法
- scala - IntelliJ 使用具有布尔属性的 scalatags 显示错误
- cmd - 在 cmd 中使用时传递给 cmd 的注册表变量 (%1) 不显示完整路径(不包含带空格的文本)
- visual-studio-code - 树视图中不显示文件夹“libs”(带有“s”)
- node.js - 绑定 Mosca 监听 IP 地址?
- java - 在 toTomCat 上编译 Java Servlet
- nosql - Cloudant 独特的运算符
- tensorboard - 一次全部添加到主图