English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 기사에서는 Python 리스트에 대해 모든 것을 배울 것입니다; 그들의 생성, 슬라이싱, 요소 추가와 제거 등.
Python은 일반적으로 시퀀스로 불리는 복합 데이터 타입 시리즈를 제공합니다. List는 Python에서 가장 자주 사용되고 가장 널리 사용되는 데이터 타입 중 하나입니다.
Python 프로그래밍에서는, 모든 항목(요소)을 괄호 [] 안에 넣고 콤마로 구분하여 리스트를 생성합니다.
그들은 무한히 많은 항목을 가질 수 있으며, 이들은 다른 타입(정수, 실수, 문자열 등)을 가질 수 있습니다.
# 공백 리스트 my_list = [] # 정수 리스트 my_list = [1, 2, 3] # 혼합 데이터 타입의 리스트 my_list = [1, "Hello", 3.4]
이와 같이, 리스트는 다른 리스트를 항목으로 가질 수 있습니다. 이는 내부 리스트라고 합니다.
# 가장 내부 리스트 my_list = ["mouse", [8, 4, 6], ['a']]
리스트의 요소에 접근할 수 있는 여러 가지 방법이 있습니다.
리스트에서 항목에 접근할 수 있는 인덱스 연산자 []를 사용할 수 있습니다. 인덱스는 0에서 시작되며, 따라서, 포함5요소가 있는 리스트의 인덱스는 0부터4.
다른 요소에 접근하려면, 그렇지 않으면 IndexError가 발생합니다. 인덱스는 정수여야 합니다. float 또는 다른 타입을 사용할 수 없습니다. 이는 TypeError를 유발할 수 있습니다.
가장 내부 리스트에 접근할 수 있는 내부 인덱싱을 사용합니다.
my_list = ['p','r','o','b','e'] # 출력: p print(my_list[0]) # 출력: o print(my_list[2] # 출력: e print(my_list[4] # 에러! 인덱싱에 사용할 수 있는 것은 정수만입니다 # my_list[4].0] # 가장 내부 리스트 n_list = ["Happy", [2,0,1,5]] # 가장 내부 인덱싱 # 출력: a print(n_list[0][1] # 출력: 5 print(n_list[1][3]
Python은 시퀀스에 대한 음수 인덱싱을 허용합니다. 인덱스-1마지막 항목을 나타냅니다.-2이는 마지막 두 번째 항목을 나타냅니다. 이와 같이 계속됩니다.
my_list = ['p','r','o','b','e'] # 출력: e print(my_list[-1] # 출력: p print(my_list[-5]
리스트에서 일련의 항목에 접근할 수 있는 슬라이싱 연산자(콜론:)를 사용할 수 있습니다.
my_list = ['p','r','o','g','r','a','m','i','z'] # 부터3요소까지5개 요소 print(my_list[2:5] # 부터4개 요소 print(my_list[:-5] # }}6요소부터 끝까지 print(my_list[5:]) # 요소에서 시작하여 끝까지 print(my_list[:])
다음과 같은 요소 사이에서 인덱스를 고려하여 슬라이싱을 통해 최상의 시각 효과를 얻을 수 있습니다. 우리가 목록에서 특정 범위에 접근하고자 한다면, 그 부분을 나누기 위해 두 인덱스가 필요합니다.
목록은 변경 가능하므로, 그 요소는 변경될 수 있으며, 그와는 달리string또는tuple.
우리는 대입 연산자 (=)를 사용하여 하나의 항목이나 여러 항목을 변경할 수 있습니다.
# 값 목록 odd = [2, 4, 6, 8] # 첫 번째 요소 변경 odd[0] = 1 # 출력: [1, 4, 6, 8] print(odd) # 변경된2까지4항목 odd[1:4] = [3, 5, 7] # 출력: [1, 3, 5, 7] print(odd)
우리는 append() 메서드를 사용하여 하나의 항목을 목록에 추가할 수 있으며, 또는 extend() 메서드를 사용하여 여러 항목을 목록에 추가할 수 있습니다.
odd = [1, 3, 5] odd.append(7) # 출력: [1, 3, 5, 7] print(odd) odd.extend([9, 11, 13] # 출력: [1, 3, 5, 7, 9, 11, 13] print(odd)
또한, 우리는+연산자를 결합하여 목록을 생성합니다. 이를 연결라고도 합니다.
*연산자를 반복하여 목록을 생성합니다.
odd = [1, 3, 5] # 출력: [1, 3, 5, 9, 7, 5] print(odd + [9, 7, 5] # 출력: ["re", "re", "re"] print(["re"] * 3)
또한, 우리는 insert() 메서드를 사용하여 필요한 위치에 항목을 삽입할 수 있으며, 여러 항목을 하나의 목록의 공백 슬라이스에 압축하여 여러 항목을 삽입할 수도 있습니다.
odd = [1, 9] odd.insert(1,3) # 출력: [1, 3, 9] print(odd) odd[2:2] = [5, 7] # 출력: [1, 3, 5, 7, 9] print(odd)
우리는 del 키워드를 사용하여 목록에서 하나나 여러 항목을 제거할 수 있으며, 목록을 완전히 제거할 수도 있습니다.
my_list = ['p','r','o','b','l','e','m'] # 항목을 제거 del my_list[2] # 출력: ['p', 'r', 'b', 'l', 'e', 'm'] print(my_list) # 여러 항목을 제거 del my_list[1:5] # 출력: ['p', 'm'] print(my_list) # 모든 목록을 제거 del my_list # 오류: List not defined print(my_list)
우리는 remove() 메서드를 사용하여 주어진 항목을 제거할 수 있으며, 또는 pop() 메서드를 사용하여 주어진 인덱스处的 항목을 제거할 수 있습니다.
인덱스가 제공되지 않으면, pop() 메서드는 마지막 항목을 제거하고 반환합니다. 이는 우리가 목록을 스택(최근 입력 우선 데이터 구조)로 구현하는 데 도움이 됩니다.
우리는 clear() 메서드를 사용하여 목록을 비울 수 있습니다.
my_list = ['p','r','o','b','l','e','m'] my_list.remove('p') # 출력: ['r', 'o', 'b', 'l', 'e', 'm'] print(my_list) # 출력: 'o' print(my_list.pop(),)1)) # 출력: ['r', 'b', 'l', 'e', 'm'] print(my_list) # 출력: 'm' print(my_list.pop()) # 출력: ['r', 'b', 'l', 'e'] print(my_list) my_list.clear() # 출력: [] print(my_list)
마지막으로, 요소에 공백 목록을 할당하여 목록에서 항목을 제거할 수도 있습니다.
>>> my_list = ['p','r','o','b','l','e','m'] >>> my_list[2:3] = [] >>> my_list ['p', 'r', 'b', 'l', 'e', 'm'] >>> my_list[2:5] = [] >>> my_list ['p', 'r', 'm']
아래는 Python 프로그래밍에서 list 객체가 사용할 수 있는 메서드를 나열합니다.
그들은 list.method() 방식으로 접근됩니다. 이미 몇 가지 메서드를 사용했습니다.
Python 목록 메서드의 몇 가지 예제:
my_list = [3, 8, 1, 6, 0, 8, 4] # 출력: 1 print(my_list.index(8)) # 출력: 2 print(my_list.count(8)) my_list.sort() # 출력: [0, 1, 3, 4, 6, 8, 8] print(my_list) my_list.reverse() # 출력: [8, 8, 6, 4, 3, 1, 0] print(my_list)
리스트 이해는 Python의 기존 목록에서 새로운 목록을 생성하는 간결하고 명확한 방법입니다.
리스트 이해는 표현식을 가지고 있으며, 대괄호 안에 있습니다.for 문.
이는 각 항목이 증가하는 목록을 나열합니다.2의冪의 예제입니다.
pow2 = [2 ** x for x in range(10) # 출력: [1, 2, 4, 8, 16, 32, 64, 128, 256, 512] print(pow2)
이 코드는 동일합니다.
pow2 = [] for x in range(10) pow2.append(2 ** x)
리스트推导는 더 많은 for을 선택할 수 있습니다.if 문선택 if 문은 새로운 목록 항목을 필터링할 수 있습니다. 여기 몇 가지 예제가 있습니다.
>>> pow2 = [2 ** x for x in range(10) if x > 5] >>> pow2 [64, 128, 256, 512] >>> odd = [x for x in range(20) if x % 2 == 1] >>> odd [1, 3, 5, 7, 9, 11, 13, 15, 17, 19] >>> [x+y for x in ['Python ','C '] for y in ['Language','Programming']] ['Python Language', 'Python Programming', 'C Language', 'C Programming']
키워드 in을 사용하여 리스트에 항목이 존재하는지 테스트할 수 있습니다.
my_list = ['p','r','o','b','l','e','m'] # 출력: True print('p' in my_list) # 출력: False print('a' in my_list) # 출력: True print('c' not in my_list)
for 루프를 사용하면 리스트의 각 항목을 순회할 수 있습니다.
for fruit in ['apple','banana','mango']: print("I like",fruit)