问题描述
list = [[1,2,3],[4,5,'X'],[7,8,'X']]
如何获得X的位置,例如(i,j)?
解决方法
list
是python关键字,因此最好使用其他名称。要访问列表元素,可以使用以下语法:listname[indexNumber]
。请注意,索引从0开始。因此,要访问嵌套循环中第二个列表中的X,您需要首先访问第二个列表;像这样secondList = list[1]
。然后,您将获得第二个索引位置中的X。 x = secondList[2]
。您也可以在同一行中执行此操作:print(list[1][2])
您可以遍历“外部”列表,并在内部列表上使用index
:
def find(matrix,item):
for i in range(len(matrix)):
try:
j = matrix[i].index(item)
return (i,j)
except ValueError:
pass
raise ValueError # If item isn't found
,
您可以通过列表切片来做到这一点。
l = [[1,2,3],[4,5,'X'],[7,8,'X']]
print(l[0][0],l[1][2],l[2][0])
print(l[1][2])
# [0][0] == first list in list and first item in the first list
# [1][2] == second list and third item in the second list
# [2][0] == third list and first item in that list
输出
1 X 7
X
伟大的python列表切片tuto here
,尝试一下
list1 = [[1,'X']]
print(list1[1][2])
print(list1[2][2])
如果您不知道每次“ X”在哪里:
test_list = [[1,'X']]
x = None
y = None
for separate_list in test_list:
for var in separate_list:
if var == 'X':
if x == None:
x = var
elif y == None:
y = var
pos = (x,y)
print(pos)