我有一个数据集,该数据集存储为列表。我希望能够检索不同的数据并更改它们。我需要的零件索引存储在其他列表中。
例如:
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)