>  기사  >  백엔드 개발  >  Python의 배열과 목록: 콜론 사용 소개

Python의 배열과 목록: 콜론 사용 소개

不言
不言원래의
2018-04-18 11:13:085632검색

다음은 Python에서 배열, 목록 및 콜론을 유연하게 사용하는 방법에 대한 소개입니다. 좋은 참고 가치가 있으며 모든 사람에게 도움이 되기를 바랍니다. 함께 살펴봅시다

예를 살펴보겠습니다.

import numpy as np
x=np.array([[1,2,3],[5,6,7],[7,8,9]])
print(x)
Out[64]:
array([[1, 2, 3],
  [5, 6, 7],
  [7, 8, 9]])

위 결과는 모두가 괜찮을 것이라고 생각합니다. 이는 단지 np 배열을 정의하는 것뿐입니다.

print(x[:,::-1])
Out[65]:
[[3 2 1]
 [7 6 5]
 [9 8 7]]

위의 코드는 배열을 역순으로, 각 차원별로 배열하는 함수를 구현한 것입니다. 이 코드를 어떻게 이해해야 할까요? 한 가지 문제는 그림의 rgb를 bgr로 변경하는 것인데, 다른 사람들이 작성한 코드를 보고 처음에는 transpose를 사용하려고 생각했습니다. 여기에 있지만 전치는 차원이기 때문에 실제로 작동하지 않습니다. 그러다가 왜 이중 콜론을 사용할 수 있는지 생각했습니다. ::::-1], 이 코드는 사실 인덱스인데 첫 번째 콜론(쉼표 앞)을 분명히 하면 첫 번째 차원의 모든 것, 즉 여기 있는 모든 행을 선택하고 그 뒤에 콜론 두 개가 따라오는 것을 보세요. 예를 들어 목록 y=[1,2,3],y[: 2] 결과는 [1,2]입니다. 즉, 첫 번째 콜론은 실제로 첫 번째 콜론에서 시작한다는 의미입니다. 여기서 쉼표 뒤의 첫 번째 콜론도 첫 번째 콜론에서 시작됩니다. 두 번째 콜론은 실제로 끝을 나타냅니다. y=[1,2,3],y[::], 결과는 [ 1,2,3], 세 번째 매개변수는 무엇인가요? 사실 세 번째 매개변수는 step size 인데, step 크기는 0이 될 수 없습니다. -1은 역순을 의미하고, 1이면 모두 선택한다는 의미입니다. 2, 그것은 다른 것을 모두 가져가는 것을 의미합니다.

다음 코드를 보세요:

x=np.array([[1,2,3],[5,6,7],[7,8,9]])
print(x)
print('------------')
print(x[:,::-1])
print('------------')
print(x[:,::1])
print('------------')
print(x[:,::2])
print('------------')
print(x[:,::3])
print('------------')
print(x[:,::666666])
x=np.array([[1,2,3],[5,6,7],[7,8,9]])
print(x)
print('------------')
print(x[:,::-1])
print('------------')
print(x[:,::1])
print('------------')
print(x[:,::2])
print('------------')
print(x[:,::3])
print('------------')
print(x[:,::666666])
[[1 2 3]
 [5 6 7]
 [7 8 9]]
------------
[[3 2 1]
 [7 6 5]
 [9 8 7]]
------------
[[1 2 3]
 [5 6 7]
 [7 8 9]]
------------
[[1 3]
 [5 7]
 [7 9]]
------------
[[1]
 [5]
 [7]]
------------
[[1]
 [5]
 [7]]

위 코드에서 x[:,::666666]가 이렇게 큰 이유는 처음부터 처음부터 다음은 단계 크기를 나타냅니다. 66666만큼 큰 단계 크기의 경우 실제로 단계 크기 3부터 시작하여 위의 사용법도 사용할 수 있습니다. 목록에서도 마찬가지입니다.

관련 권장 사항:

Python의 루프 및 범위 내장 함수


위 내용은 Python의 배열과 목록: 콜론 사용 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.