python-3.x - 读取存储在列表中的索引

标签 python-3.x indexing variable-length

我有一个存储为列表的数据集。我希望能够检索不同的数据片段并更改它们。我需要的片段索引存储在不同的列表中。

例如:

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/

相关文章:

iphone - 我有一张需要优化的庞大 table 。我想我需要使用索引,但我希望获得有关它们的更多信息

python - 在数据框中查找 "missing"值的最佳方法是什么?

python - neo4jrestclient 索引结果返回 Iterable 而不是 node/url?

c++ - 如何在 C++ 的二维字符数组中输入不同长度的字符串?

python - 泛型类的类方法

python - 文件未找到错误 : [WinError 2] python 3. 4

python - 我收到 “SyntaxError: invalid syntax”,但没有发现任何错误

python - 如何在Python中销毁一个对象?

java - 何时使用 type.length-1;和 type.length();在 java

c - 获取C中无符号字符数组的长度