본문 바로가기
파이썬

파이썬 2D 행렬에서 값의 인덱스 찾기

by º기록 2021. 1. 14.
반응형

나는 형태의 매트릭스를 가지고 있습니다.

mymatrix=[[1,2,3],[4,5,6],[7,8,9]]

예를 들어 (2,2)에있는 9의 인덱스를 얻고 싶습니다.

내가 지금까지 시도한 것.

for i,j in enumerate(mymatrix):
   for k,l in enumerate(j):
     if l==9:
         print i,k

더 나은 방법이 있습니까? 최적화, 누구? 미리 감사드립니다.

 

해결 방법

 

값이 표시되는 모든 위치를 원하는 경우 val 을 검색하려는 항목으로 설정하여 다음 목록 이해를 사용할 수 있습니다.

[(index, row.index(val)) for index, row in enumerate(mymatrix) if val in row]

예를 들면 :

>>> mymatrix=[[1,2,9],[4,9,6],[7,8,9]]
>>> val = 9
>>> [(index, row.index(val)) for index, row in enumerate(mymatrix) if val in row]
[(0, 2), (1, 1), (2, 2)]

수정

이것이 모든 발생을 얻는다는 것은 사실이 아니며 주어진 행에서 값의 첫 번째 발생 만 얻을 것입니다.

 

참조 페이지 https://stackoverflow.com/questions/17385419

 

 

반응형

댓글