按索引嵌套列表的操作

时间:2019-12-20 21:27:17

标签: python loops nested-loops nested-lists

我有一个嵌套列表,嵌套列表中的每个元素都是4个一组。我想对列表中的每个元素执行算术运算,但是不确定如何访问它们。

my_nested_list = [[1, 0, 0, 3], [7, 2, 2, 3], [1, 3, 4, 3]]

for i in my_nested_list:
    for num in i:
        if num[0] == 7:      
            num[1] = num[1] * num[1]

如果嵌套列表的第一个数字== 7,如何对嵌套列表的第二个数字求平方?我以为我上面的代码可以工作,但不是。有什么想法吗?

我期望的输出是2变为4。

my_nested_list = [[1, 0, 0, 3], [7, 4, 2, 3], [1, 3, 4, 3]]

2 个答案:

答案 0 :(得分:1)

您可以遍历嵌套列表中的列表,您可能只需要检查第一个元素,而不需要遍历内部列表。也许您可以尝试以下操作:

my_nested_list = [[1, 0, 0, 3], [7, 2, 2, 3], [1, 3, 4, 3]]

for num in my_nested_list:
    if num[0] == 7: # for each list only need to compare first element
        num[1] = num[1] * num[1]
print(my_nested_list)

输出:

[[1, 0, 0, 3], [7, 4, 2, 3], [1, 3, 4, 3]]

答案 1 :(得分:-3)

my_nested_list = [[1, 0, 0, 3], [7, 1, 2, 3], [1, 3, 4, 3]]

for i in my_nested_list:
  for j in 3: # you have 3 lists
    if my_nested_list[j][i] == 1:
      my_nested_list[j][i+1]**2