[:]은 무슨 뜻인가요?
일부 Python 코드를 분석하고 있는데 무엇인지 모르겠습니다.
pop = population[:]
방법. Java의 배열 목록이나 2 차원 배열과 같은 것입니까?
슬라이싱이며 어떤 작업을 수행하는지는 population
. 경우 population
목록입니다,이 라인이 만들어집니다 얕은 복사 목록을. tuple
또는 a 유형의 객체의 경우 str
아무 작업도 수행하지 않으며 (라인이 없이도 동일하게 [:]
수행됨) NumPy 배열의 경우 동일한 데이터에 대한 새 뷰를 생성합니다.
일반적으로 목록 조각이 목록의 일부를 복사한다는 사실을 아는 것도 도움이 될 수 있습니다. 예 population[2:4]
를 들어 인구 [2]와 인구 [3]을 포함하는 목록을 반환합니다 (슬라이스는 오른쪽 배타적 임). population[:]
기본값은 각각 0과 길이 (인구) 이므로 왼쪽과 오른쪽 인덱스 를 제외하고 전체 목록을 선택합니다. 따라서 이것은 목록의 사본을 만드는 일반적인 관용구입니다.
음 ... 이것은 정말 상황에 따라 다릅니다. 궁극적으로 slice
객체 ( slice(None,None,None)
)를 __getitem__
, __setitem__
또는 __delitem__
. (실제로 객체에가있는 경우이 __getslice__
대신 사용 __getitem__
되지만 현재는 더 이상 사용되지 않으며 사용해서는 안됩니다.)
개체는 슬라이스로 원하는 작업을 수행 할 수 있습니다.
문맥 상에:
x = obj[:]
이것은 obj.__getitem__
전달 된 슬라이스 객체로 호출 됩니다. 사실 이것은 완전히 다음과 같습니다.
x = obj[slice(None,None,None)]
(전자는 slice
생성자 를 찾을 필요가 없기 때문에 아마도 더 효율적일 것입니다 -모두 바이트 코드로 수행됩니다).
대부분의 개체에서 이것은 시퀀스 일부의 얕은 복사본을 만드는 방법입니다.
다음:
x[:] = obj
을 __setitem__
기반으로 항목을 설정하는 방법 입니다 obj
.
그리고 아마 당신이 무엇을 추측 할 수있을 것 같아요 :
del x[:]
;-)를 호출합니다.
다른 슬라이스를 전달할 수도 있습니다.
x[1:4]
구성 slice(1,4,None)
x[::-1]
구성 slice(None,None,-1)
등. 추가 읽기 : Python의 슬라이스 표기법 설명
그것은이다 슬라이스 일반적으로 얕은 복사본을 생성 끝까지 순서의 처음부터.
(글쎄, 그 이상 이지만 아직 신경 쓸 필요는 없습니다.)
이미 존재하는 목록에 새 이름을 할당하는 대신 목록의 복사본을 만듭니다.
[:]
배열에서 제 한자 또는 슬라이싱에 사용됩니다. 해시
예 :
[1 : 5] 1 포함과 5 제외 사이의 값을 표시하는 데 사용됩니다
. 즉, 1-4 [start : end]
기본적으로 분할을 위해 배열에 사용됩니다. 표시 할 값 또는 키이며 ":"은 전체 어레이를 패킷으로 제한하거나 분할하는 데 사용됩니다.
참고 URL : https://stackoverflow.com/questions/6167238/what-does-mean
'IT story' 카테고리의 다른 글
NSArray에 c-struct를 넣는 가장 좋은 방법은 무엇입니까? (0) | 2020.09.18 |
---|---|
Sqlite 또는 MySql? (0) | 2020.09.18 |
C에서 nan과 inf를 사용하는 방법? (0) | 2020.09.18 |
UIView의 경계를 넘어서는 상호 작용 (0) | 2020.09.18 |
자바에서 추상화 대 캡슐화 (0) | 2020.09.18 |