>백엔드 개발 >파이썬 튜토리얼 >Python에서 목록을 조작하는 일반적인 방법 요약

Python에서 목록을 조작하는 일반적인 방법 요약

高洛峰
高洛峰원래의
2016-10-19 11:48:571085검색

다음은 목록과 작은 예에서 일반적으로 사용되는 메서드 작업 목록입니다.

1. 추가

목록 끝에 요소를 추가하려면 다음 위치에 요소를 추가해야 합니다. 목록의 끝 부분에 주의해야 합니다.

A. 추가된 매개변수는 전체적으로

>>> name = list("scott")

>>> 이름

['s', 'c', 'o', 't', 't']

> >> name.append(list("tiger"))

>>> 이름

['s', 'c', 'o', 't', 't', [' ', 't', 'i', 'g', 'e', ​​'r']]

얻은 값은 ['s', 'c', 'o', 't', 't', ' ', 't', 'i', 'g', 'e', ​​​​'r']

이런 방식의 추가를 원하시면 다음을 시도해 보세요. 슬라이스 할당(또는 아래에 언급된 확장 방법):

>>> name = list("scott")

>>> name

['s', ' c', 'o', 't', 't']

>>> name[len(name):] = list("tiger") #추가

>>> 끝 이름부터

['s', 'c', 'o', 't', 't', '', 't', 'i', 'g', 'e', ​​'r']

B.append는 한 번만 사용할 수 있습니다. 요소 추가

>>> name = list("scott")

>>> name

['s', 'c', 'o', 't', 't']

>>> name.append("A","B") #An 여러 요소를 추가하면 오류가 보고됩니다

추적(가장 최근 호출 마지막):

파일 "", 1행, ?

TypeError: 추가()가 정확히 걸립니다. 인수 1개(2개 제공)

>>> name.append("A")

>>> name

['s', 'c', 'o ', 't', 't', 'A']

2. Count

목록에 요소가 나타나는 횟수를 셉니다

>>> 이름 = 목록("scott")

>>> 이름

['s', 'c', 'o', 't', 't']

>>> name.count('s')

> >> name.count("t")

>>> name.count("A" )

>>> name.append(list("Python"))

>>> 이름

['s', 'c', 'o', 't', 't', ['P', 'y', 't', 'h' , 'o', 'n']]

>>> name.count(['P ', 'y', 't', 'h', 'o', 'n'])

3. 확장

원래 목록의 또 다른 시퀀스

>>> name = list("scott")

>>> name

['s', 'c', 'o ', 't', 't']

>>> name.extend(list ("tiger"))

>>> 이름

['s' , 'c', 'o', 't', 't', '', 't', 'i', 'g', 'e', ​​​​'r']

물론이지 , 이를 달성하기 위해 슬라이스 할당을 사용할 수 있습니다:

>>> name = list("scott")

>>> name

['s', 'c ', 'o', 't', 't']

>>> 이름[len( 이름):] = list(" 호랑이")

>>> 이름

['s', 'c', 'o', 't', 't', ' ' , 't', 'i', 'g', 'e', ​​​​'r']

이때 친구들은 "+" 연산자를 직접 사용하면 더 편리하다고 생각할 것입니다.

>>> name = list("scott")

>>> 비밀번호 = 목록("호랑이")

>>> 이름 + 비밀번호

['s', 'c', 'o', 't', 't ', ' ', 't', 'i', 'g', 'e', ​​​​'r']

>>> 이름

['s', 'c ', 'o', 't', 't']

이 세 가지 작업의 출력에서 ​​Out:

확장 및 슬라이스 할당 모두 원래 목록을 상대적으로 수정하는 것을 볼 수 있습니다. 말하자면, 확장이 더 읽기 쉽고 "+" 연산자는 원래 목록에 영향을 주지 않고 새 목록을 생성합니다.

원래 목록에 영향을 주지 않고 새 목록을 생성해야 하는 경우 " 연산자를 사용할 수 있습니다. +".

4.Index

목록에서 특정 값과 일치하는 첫 번째(첫 번째 참고) 항목의 인덱스 위치 찾기

>> > name = list("scott")

>>> 이름

['s', 'c', 'o', 't', 't']

>>> name.index('t') ##첫 글자 t의 인덱스 위치는 3

>>> name.index('a')

추적(가장 최근 호출 마지막):

파일 "", 1행, in ?

ValueError: list.index(x): x 목록에 없음

>>> 이름에 'a'

False

>>> 이름에 'a' 없음

True

출력에서 OK It index가 첫 번째로 일치하는 항목의 index 위치를 찾고 있는 것을 알 수 있으며, 검색 중인 요소가 목록에 없으면 오류가 보고됩니다(물론 -1을 반환하는 것이 더 나을까요?). 보고를 피하고 싶습니다.

잘못되었습니다. 먼저 in 연산을 사용하여 요소가 목록에 있는지 여부를 확인할 수 있습니다. 그렇다면 색인 연산을 수행하세요.

5. Insert

는 두 개의 매개변수를 사용하여 목록에 개체를 삽입하는 데 사용됩니다. 첫 번째는 인덱스 위치이고 두 번째는 삽입된 요소 개체입니다.

>>> 이름 = 목록("scott")

>>> 이름

['s', 'c', 'o', 't', 't']

>>> 이름.insert(2,' Tiger') ##인덱스 2

>>> name

['s', 'c', 'tiger', 'o', 't', '에 Tiger 문자열 삽입 t']

슬라이스 할당을 사용할 수도 있습니다:

>>> name = list("scott")

>>> name

[ 's', 'c', 'o', 't', 't']

>>> 이름[2:2] = ['호랑이']

>>> 이름

['s', 'c', '호랑이', 'o', 't', 't']

>>> 이름[2:2 ] = '호랑이 '

>>> 이름

['s', 'c', 't', 'i', 'g', 'e', ​​​​'r', 'tiger ', 'o', 't', 't']

여기서 주의할 점은 요소를 삽입할 경우 반드시 []로 묶어야 한다는 점입니다. 문자열을 직접 삽입하는 경우 인덱스 위치 뒤에 추가된 문자열 목록을 삽입합니다.

물론, 조각 할당보다 insert를 사용하는 것이 더 읽기 쉽습니다.

6. Pop

목록에서 요소(마지막 요소)를 제거하고 해당 요소의 값을 반환합니다.

>>> name = list("scott")

>>> 이름

['s', 'c', 'o', 't', 't']

> >> name.pop()

't'

>>> 이름

['s', 'c', 'o', 't']

>>> name.append("t")

>>> 이름

['s', 'c', 'o', 't', ' t']

슬라이스 할당은 pop을 시뮬레이션합니다:

>>> name = list("scott")

>>> name

[ 's ', 'c', 'o', 't', 't']

>>> 이름[len(name)-1:] = []

>> > 이름

['s', 'c', 'o', 't']

팝과 추가를 사용하여 스택의 선입선출 LIFO를 시뮬레이션합니다.

7. 제거

목록에서 값과 일치하는 첫 번째 항목을 제거합니다. 두 개의 동일한 요소가 있는 경우 일치하는 요소만 제거합니다. 목록에 없으면 오류가 보고되며 한 번에 하나의 요소만 제거할 수 있습니다

.

>>> 이름 = 목록("scott")

>>> 이름

['s', 'c', 'o', 't', 't']

>>> name.remove("t") # 첫 번째 t

>>> 이름

['s', 'c' 제거 , 'o', 't']

>>> name.remove("A") # 없으면 오류가 보고됩니다

추적(가장 최근 호출 마지막 ):

파일 "", 1행, ?

ValueError: list.remove(x): x가 목록에 없음

>>> "A"가 목록에 없음 name

True

>>> name.remove("s","c") #한 번에 하나의 요소만 제거할 수 있습니다

추적(가장 최근 호출 last):

File "", line 1, in ?

TypeError: 제거()는 정확히 하나의 인수를 사용합니다(2개 제공)

8 .Revense

목록의 요소를 반전합니다

>>> name = list("scott")

>>> name

['s ', 'c', 'o', 't', 't']

>>> name.reverse()

>>> 이름

[' t', 't', 'o', 'c', 's']

9. Sort & Sorted

정렬 방법을 사용합니다. 목록을 수정하고 목록

>>> 결과 = [8,5,5,3,9]

>>> 결과의 정렬된 복사본을 반환하지 않습니다. sort()

> >> result

[3, 5, 5, 8, 9]

목록에 영향을 주지 않고 정렬된 목록 복사본을 반환하려는 경우 원본 목록의 한 가지 방법은 먼저 원본 목록을 할당한 다음(슬라이스 할당을 사용하여 복사할 수 있음)

복사된 목록에 대해 정렬 작업을 수행하는 것입니다. 또 다른 방법은 정렬 기능을 사용하는 것입니다. 그러면 목록의 정렬된 복사본이 반환됩니다.

>>> result = [8,5,5,3,9]

>>> result2 = sorted(result)

>>> 결과

[8, 5, 5, 3, 9]

>>> 결과2

[3, 5, 5, 8, 9 ]


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