我有一个嵌套的列表,我试图用其他的东西替换列表中的某个元素。
NL = [[1,2,3],
[4,5,6],
[7,8,9]];现在,我需要更新列表,假设用户希望将NL1上的元素(即5)更改为“X”。
NL将更新为
NL = [[1,2,3],
[4,'X',6],
[7,8,9]];`我很难找到元素的位置,然后改变它。任何帮助都是非常感谢的。
谢谢
发布于 2020-07-07 10:44:31
使用numpy
NL = np.array(NL)
mask = np.where(NL == 5)
NL[mask] = 10array([[ 1, 2, 3],
[ 4, 10, 6],
[ 7, 8, 9]])Solution2:
def get_index(num, List):
for row, i in enumerate(List):
if num in i:
return row, i.index(num)
return -1
idx = get_index(5,NL)
if idx>0:
NL[idx[0]][idx[1]] = 7[[1, 2, 3], [4, 7, 6], [7, 8, 9]]发布于 2020-07-07 10:35:41
使用两个索引,一个用于所需的嵌套列表,一个用于所需嵌套列表的哪个元素。
因此,在本例中,您需要第二个列表的第二个元素:
NL[1][1]='X'输出:
[[1, 2, 3], [4, 'X', 6], [7, 8, 9]]发布于 2020-07-07 10:41:45
假设您需要找到元素5,并希望用10替换它。我们遍历外部列表,然后遍历每个内部列表的元素。一旦我们找到我们寻找的元素,我们就可以用索引来替换它。一旦找到匹配的元素,我们就使用枚举来拥有索引。
下面的代码替换所有匹配的元素(所有出现的5)。
NL = [[1,2,3], [4,5,6], [7,8,9]]
print(NL) # prints: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for i, sublist in enumerate(NL):
for y, element in enumerate(sublist):
if element == 5:
NL[i][y] = 10
print(NL) # prints: [[1, 2, 3], [4, 10, 6], [7, 8, 9]] https://stackoverflow.com/questions/62773299
复制相似问题