【 2 】 데이터 구조의 목록, 목록 함수

21435 단어
절편 은 절편 작업 으로 시퀀스 의 일부 데 이 터 를 선택 할 수 있 습 니 다. 절편 의 기본 형식 은 괄호 에서 start: stop 을 사용 하 는 것 입 니 다.
seq=[7,2,3,7,5,6,0,1]
seq[1:5]
[2, 3, 7, 5]

절편 도 시퀀스 에 의 해 할당 할 수 있 습 니 다:
seq[3:4]=[6,3]
print(seq)
[7, 2, 3, 6, 3, 5, 6, 0, 1]

절편 조작 은 '포두 가 꼬리 를 싸 지 않 는 다' 는 것 이다.start 나 stop 은 모두 생략 될 수 있 습 니 다. 생략 한 후에 기본 값 은 시퀀스 의 시작 과 끝 입 니 다.
seq[:5]
[7, 2, 3, 6, 3]
seq[3:]
[6, 3, 5, 6, 0, 1]

음 수 는 뒤에서 앞으로 자 르 는 것 을 나타 낸다.
seq[-4:]
[5, 6, 0, 1]
seq[-6:-2]
[6, 3, 5, 6]

두 번 째 짝 퉁 후 step 를 사용 하면 원 소 를 하나 로 나 눌 수 있 습 니 다.
seq[::2]
[7, 3, 3, 6, 1]

두 번 째 사칭 후 - 1 을 사용 하면 목록 이나 원 조 를 뒤 집 을 수 있 습 니 다.
seq[::-1]
[1, 0, 6, 5, 3, 6, 3, 2, 7]

시퀀스 함수 Python 은 유용 한 시퀀스 함수 가 있 습 니 다. enumerate 함수 이 함 수 는 (i, value) 원조 시퀀스 로 돌아 갈 수 있 습 니 다.
some_list=['foo','bar','baz']
mapping={
     }
for i,v in enumerate(some_list):
    mapping[v]=i

print(mapping)
{
     'foo': 0, 'bar': 1, 'baz': 2}

sorted 함수 sorted 함 수 는 임의의 시퀀스 의 요소 에서 새로운 정렬 된 목록 을 되 돌려 줍 니 다.
sorted([7,1,2,6,0,3,2])
[0, 1, 2, 2, 3, 6, 7]
sorted('horse race')
[' ', 'a', 'c', 'e', 'e', 'h', 'o', 'r', 'r', 's']

zip 함수 zip 는 여러 목록, 원 그룹 또는 다른 서열 을 하나의 원 그룹 목록 으로 조합 할 수 있 습 니 다.
seq1=['foo','bar','baz']
seq2=['one','two','three']
zipped=zip(seq1,seq2)
list(zipped)
[('foo', 'one'), ('bar', 'two'), ('baz', 'three')]

zip 는 임의의 여러 서열 을 처리 할 수 있 습 니 다. 요소 의 개 수 는 가장 짧 은 서열 에 달 려 있 습 니 다.
seq3=[False,True]
list(zip(seq1,seq2,seq3))
[('foo', 'one', False), ('bar', 'two', True)]

zip 의 흔 한 용법 은 여러 서열 을 동시에 교체 하여 enumerate 와 결합 하여 사용 할 수 있 습 니 다.
for i,(a,b) in enumerate(zip(seq1,seq2)):
    print('{0}:{1},{2}'.format(i,a,b))
0:foo,one
1:bar,two
2:baz,three

압축 된 시퀀스 를 보 여 줍 니 다. zip 는 압축 해제 시퀀스 에 사용 할 수 있 습 니 다.줄 의 목록 을 열 로 바 꾸 는 목록 으로 도 쓸 수 있다.
pitchers=[('Nolan','Ryan'),('Roger','Clements'),('Schilling','Curt')]
first_names,last_names=zip(*pitchers)
print(first_names)
print(last_names)
('Nolan', 'Roger', 'Schilling')
('Ryan', 'Clements', 'Curt')

reversed 함수 reversed 는 뒤에서 한 서열 을 바 꿀 수 있 습 니 다.
list(reversed(range(10)))
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
list_10=list(range(10))
print(list_10[::-1])
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

주의해 야 할 것 은 reversed 는 생 성기 입 니 다. 실체 화 (즉 목록 이나 for 순환) 후에 만 반전 시퀀스 를 만 들 수 있 습 니 다.

좋은 웹페이지 즐겨찾기