반응형
나는 형태의 매트릭스를 가지고 있습니다.
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
반응형
'파이썬' 카테고리의 다른 글
파이썬에서 빈 구분자를 사용하여 문자열을 분할하는 방법 (0) | 2021.01.14 |
---|---|
파이썬 Pandas DataFrame에서 True / False를 1/0에 매핑하려면 어떻게해야합니까? (0) | 2021.01.14 |
파이썬 `anaconda`는 각각의 새로운 환경에 대해 별도의 PYTHONPATH 변수를 생성합니까? (0) | 2021.01.14 |
파이썬 PythonMagick의 문서 및 예제 (0) | 2021.01.14 |
파이썬 PySerial 비 차단 읽기 루프 (0) | 2021.01.13 |
댓글