我有一个存储为列表的数据集。我希望能够检索不同的数据并进行更改。我需要的件索引存储在其他列表中。
例如:
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
。有什么好方法吗?
答案 0 :(得分:3)
您可以尝试遍历所有键/子键,直到获得所需的数据为止。
您可以做的是将变量设置为对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)