【发布时间】:2021-12-30 13:57:57
【问题描述】:
我是 python 新手,我发现了一个问题。当我使用此代码时,我得到了期望的输出。
list1=[[1,3,5,7],
[18,9,23,30]
]
list2 = [1,3,7]
print(list1[0].index(1))
output = 0
但是当我使用此代码时,尽管 1 在此列表中,但我得到了错误的输出。
list1=[[1,3,5,7],
[18,9,23,30]
]
list2 = [1,3,7]
print(list1[0].index(1))
for element in list2:
if element in list1:
print(list1[0].index(element))
else:
print("Element not in list1")
输出 = 0 元素不在 list1 中 元素不在 list1 中 元素不在 list1 中
为什么会这样?第二个问题是我使用 print(list1[0].index(1)) 来获取第二个索引,因为我知道这个字母会在 row = 0 中。不管我们知道列数还是行数,是只获取第二个索引还是只获取第一个索引的更通用的方法?
【问题讨论】:
-
for element in list2:循环整数。if element in list1:将是错误的,因为list1是列表列表 - 而不是整数列表。 -
那么第二个功能如果能用怎么改呢?因为如果我遍历 list1 我会得到 1 列表,所以我不会有双索引
标签: python list for-loop multidimensional-array