我有一个存储为列表的数据集。我希望能够检索不同的数据片段并更改它们。我需要的片段索引存储在不同的列表中。
例如:
data_list = [[[1,2],[3,4]],[5,6]]
indices = [[0,0,1],[1,0]]
在这种情况下,我可能想要检索 data_list[0][0][1]
和 data_list[1][0]
并将它们更改为值 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)
关于python-3.x - 读取存储在列表中的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55008220/