[英]Print Location of Value within a list of lists Python
如果給我一個包含幾個列表的列表,並且我希望每次出現一個值或字符串的位置,給定以下代碼,我該怎么做:
testlist = [[1, 2, 3],[ 5, 3, 1],[ 2, 1, 6]]
對於[如果x == 1,則為枚舉(測試列表)中的i,x中的i]:打印i
我認為它將打印出來
[0][0]
[2][1]
我不只是想說:
打印測試清單[0] [0]
如何實現?
In [121]: testlist = [[1, 2, 3],[ 5, 3, 1],[ 2, 1, 6]]
In [122]: for i,sub in enumerate(testlist):
.....: for j,num in enumerate(sub):
.....: if num==1: print("[{}][{}]".format(i,j))
.....:
[0][0]
[1][2]
[2][1]
如果您想要一個尋找任何通用值的函數:
def search(L, val):
answer = []
for i, sub in enumerate(L):
for j,num in enumerate(sub):
if num==val:
answer.append([i,j])
return answer
如果您想要單線:
val = 1
answer = [[i,j] for i,sub in enumerate(testlist) for j,num in enumerate(sub) if num==val]
ll = [[1, 2, 3],[ 5, 3, 1],[ 2, 1, 6]]
for k, el in enumerate(ll):
for i,j in enumerate(el):
print("row {} column {} elemen {}".format(k, i, j))
row 0 column 0 elemen 1
row 0 column 1 elemen 2
row 0 column 2 elemen 3
row 1 column 0 elemen 5
row 1 column 1 elemen 3
row 1 column 2 elemen 1
row 2 column 0 elemen 2
row 2 column 1 elemen 1
row 2 column 2 elemen 6
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.