파이썬 목록 다른 언어(C++의 벡터, Java의 ArrayList)로 선언된 동적 크기 배열과 같습니다. 간단한 언어에서 목록은 [ ]로 묶이고 쉼표로 구분된 항목의 모음입니다.
시스템 소프트웨어
목록은 데이터 컬렉션을 저장하는 데 사용되는 시퀀스 데이터 유형입니다. 튜플 그리고 끈 다른 유형의 시퀀스 데이터 유형입니다.
Python 목록의 예
여기서 우리는 Python을 만들고 있습니다. 목록 []를 사용합니다.
파이썬
Var = ['Geeks', 'for', 'Geeks'] print(Var)>
산출:
['Geeks', 'for', 'Geeks']>
목록은 Python 언어의 필수적인 부분인 가장 간단한 컨테이너입니다. 목록은 항상 동질적일 필요는 없으므로 목록은 가장 강력한 도구입니다. 파이썬 . 단일 목록에는 정수, 문자열 및 객체와 같은 데이터 유형이 포함될 수 있습니다. 목록은 변경 가능하므로 생성 후에도 변경될 수 있습니다.
Python에서 목록 만들기
Python의 목록은 대괄호[] 안에 시퀀스를 배치하여 만들 수 있습니다. 같지 않은 세트 , 목록에는 목록 생성을 위한 내장 함수가 필요하지 않습니다.
메모: 세트와 달리 목록에는 변경 가능한 요소가 포함될 수 있습니다.
예시 1: Python에서 목록 만들기
파이썬 # Python program to demonstrate # Creation of List # Creating a List List = [] print('Blank List: ') print(List) # Creating a List of numbers List = [10, 20, 14] print('
List of numbers: ') print(List) # Creating a List of strings and accessing # using index List = ['Geeks', 'For', 'Geeks'] print('
List Items: ') print(List[0]) print(List[2])> 산출
Blank List: [] List of numbers: [10, 20, 14] List Items: Geeks Geeks>
목록 생성의 복잡성
시간 복잡도: 오(1)
공간 복잡도: 에)
예 2: 여러 개의 고유하거나 중복된 요소가 있는 목록 만들기
목록에는 고유한 위치를 가진 중복 값이 포함될 수 있으므로 목록 생성 시 여러 개의 고유하거나 중복된 값이 시퀀스로 전달될 수 있습니다.
파이썬 # Creating a List with # the use of Numbers # (Having duplicate values) List = [1, 2, 4, 4, 3, 3, 3, 6, 5] print('
List with the use of Numbers: ') print(List) # Creating a List with # mixed type of values # (Having numbers and strings) List = [1, 2, 'Geeks', 4, 'For', 6, 'Geeks'] print('
List with the use of Mixed Values: ') print(List)> 산출
List with the use of Numbers: [1, 2, 4, 4, 3, 3, 3, 6, 5] List with the use of Mixed Values: [1, 2, 'Geeks', 4, 'For', 6, 'Geeks']>
목록의 요소에 접근하기
목록 항목에 접근하려면 색인 번호를 참조하세요. 목록의 항목에 액세스하려면 색인 연산자 [ ]를 사용하십시오. 인덱스는 정수여야 합니다. 중첩된 목록은 중첩된 인덱싱을 사용하여 액세스됩니다.
예시 1: 목록의 요소에 액세스
파이썬 # Python program to demonstrate # accessing of element from list # Creating a List with # the use of multiple values List = ['Geeks', 'For', 'Geeks'] # accessing a element from the # list using index number print('Accessing a element from the list') print(List[0]) print(List[2])> 산출
Accessing a element from the list Geeks Geeks>
예제 2: 다차원 목록의 요소에 액세스
파이썬 # Creating a Multi-Dimensional List # (By Nesting a list inside a List) List = [['Geeks', 'For'], ['Geeks']] # accessing an element from the # Multi-Dimensional List using # index number print('Accessing a element from a Multi-Dimensional list') print(List[0][1]) print(List[1][0])> 산출
Accessing a element from a Multi-Dimensional list For Geeks>
네거티브 인덱싱
Python에서 음수 시퀀스 인덱스는 목록 끝의 위치를 나타냅니다. List[len(List)-3]처럼 오프셋을 계산하는 대신 List[-3]을 작성하는 것만으로도 충분합니다. 음수 인덱싱은 끝부터 시작함을 의미하며, -1은 마지막 항목, -2는 마지막 두 번째 항목 등을 나타냅니다.
파이썬 List = [1, 2, 'Geeks', 4, 'For', 6, 'Geeks'] # accessing an element using # negative indexing print('Accessing element using negative indexing') # print the last element of list print(List[-1]) # print the third last element of list print(List[-3])> 산출
Accessing element using negative indexing Geeks For>
목록의 요소에 액세스할 때의 복잡성:
시간 복잡도: 오(1)
공간 복잡도: 오(1)
Python 목록의 크기 가져오기
파이썬 오직() 목록의 길이를 얻는 데 사용됩니다.
파이썬 # Creating a List List1 = [] print(len(List1)) # Creating a List of numbers List2 = [10, 20, 14] print(len(List2))>
산출
0 3>
Python 목록 입력 받기
요소 목록의 입력을 문자열, 정수, 부동 소수점 등으로 받을 수 있습니다. 그러나 기본 값은 문자열입니다.
예시 1:
파이썬 # Python program to take space # separated input as a string # split and store it to a list # and print the string list # input the list as string string = input('Enter elements (Space-Separated): ') # split the strings and store it to a list lst = string.split() print('The list is:', lst) # printing the list> 산출:
Enter elements: GEEKS FOR GEEKS The list is: ['GEEKS', 'FOR', 'GEEKS']>
예시 2:
파이썬 # input size of the list n = int(input('Enter the size of list : ')) # store integers in a list using map, # split and strip functions lst = list(map(int, input('Enter the integer elements:').strip().split()))[:n] # printing the list print('The list is:', lst)> 산출:
Enter the size of list : 4 Enter the integer elements: 6 3 9 10 The list is: [6, 3, 9, 10]>
자세한 내용은 다음을 참조하세요. 이것 .
Python 목록에 요소 추가
방법 1:append() 메서드 사용
내장된 요소를 사용하여 목록에 요소를 추가할 수 있습니다. 추가() 기능. Append() 메서드를 사용하면 한 번에 하나의 요소만 목록에 추가할 수 있으며, Append() 메서드를 사용하여 여러 요소를 추가하려면 루프가 사용됩니다. 튜플은 변경할 수 없기 때문에 Append 메서드를 사용하여 목록에 추가할 수도 있습니다. Set과 달리 List는 Append() 메서드를 사용하여 기존 목록에 추가할 수도 있습니다.
파이썬 # Python program to demonstrate # Addition of elements in a List # Creating a List List = [] print('Initial blank List: ') print(List) # Addition of Elements # in the List List.append(1) List.append(2) List.append(4) print('
List after Addition of Three elements: ') print(List) # Adding elements to the List # using Iterator for i in range(1, 4): List.append(i) print('
List after Addition of elements from 1-3: ') print(List) # Adding Tuples to the List List.append((5, 6)) print('
List after Addition of a Tuple: ') print(List) # Addition of List to a List List2 = ['For', 'Geeks'] List.append(List2) print('
List after Addition of a List: ') print(List)> 산출
Initial blank List: [] List after Addition of Three elements: [1, 2, 4] List after Addition of elements from 1-3: [1, 2, 4, 1, 2, 3] List after Addition of a Tuple: [1, 2, 4, 1, 2, 3, (5, 6)] List after Addition of a List: [1, 2, 4, 1, 2, 3, (5, 6), ['For', 'Geeks']]>
Lists(append() 메소드)에 요소를 추가할 때의 복잡성:
시간 복잡도: 오(1)
에스 속도 복잡성: 오(1)
방법 2: insert() 메소드 사용
Append() 메소드는 목록 끝에 요소를 추가하거나 원하는 위치에 요소를 추가하는 경우에만 작동합니다. 끼워 넣다() 방법이 사용됩니다. 하나의 인수만 취하는 Append()와 달리 insert() 메소드에는 두 개의 인수(위치, 값)가 필요합니다.
파이썬 # Python program to demonstrate # Addition of elements in a List # Creating a List List = [1,2,3,4] print('Initial List: ') print(List) # Addition of Element at # specific Position # (using Insert Method) List.insert(3, 12) List.insert(0, 'Geeks') print('
List after performing Insert Operation: ') print(List)> 산출
Initial List: [1, 2, 3, 4] List after performing Insert Operation: ['Geeks', 1, 2, 3, 12, 4]>
Lists(insert() 메소드)에 요소를 추가할 때의 복잡성:
시간 복잡도: 에)
공간 복잡도: 오(1)
방법 3: 확장() 메서드 사용
add(), insert() 메소드 외에 요소를 추가하는 메소드가 하나 더 있습니다. 연장하다() , 이 방법은 목록 끝에 동시에 여러 요소를 추가하는 데 사용됩니다.
파이썬메모: 추가() 및 확장() 메소드는 끝에만 요소를 추가할 수 있습니다.
# Python program to demonstrate # Addition of elements in a List # Creating a List List = [1, 2, 3, 4] print('Initial List: ') print(List) # Addition of multiple elements # to the List at the end # (using Extend Method) List.extend([8, 'Geeks', 'Always']) print('
List after performing Extend Operation: ') print(List)> 산출
Initial List: [1, 2, 3, 4] List after performing Extend Operation: [1, 2, 3, 4, 8, 'Geeks', 'Always']>
Lists(extend() 메소드)에 요소를 추가할 때의 복잡성:
시간 복잡도: 에)
공간 복잡도: 오(1)
목록 뒤집기
방법 1: 다음을 사용하여 목록을 되돌릴 수 있습니다. Python의 reverse() 메소드 .
파이썬 # Reversing a list mylist = [1, 2, 3, 4, 5, 'Geek', 'Python'] mylist.reverse() print(mylist)>
산출
['Python', 'Geek', 5, 4, 3, 2, 1]>
방법 2: 역방향() 기능:
reversed() 함수는 list() 함수를 사용하여 목록으로 변환할 수 있는 역방향 반복자를 반환합니다.
파이썬 my_list = [1, 2, 3, 4, 5] reversed_list = list(reversed(my_list)) print(reversed_list)>
산출
[5, 4, 3, 2, 1]>
목록에서 요소 제거
방법 1: Remove() 메서드 사용
내장된 요소를 사용하여 목록에서 요소를 제거할 수 있습니다. 제거하다() 기능을 수행하지만 해당 요소가 목록에 존재하지 않으면 오류가 발생합니다. Remove() 메서드는 한 번에 하나의 요소만 제거하며, 다양한 요소를 제거하려면 반복자가 사용됩니다. Remove() 메소드는 지정된 항목을 제거합니다.
메모: List의 Remove 메소드는 검색된 요소의 첫 번째 항목만 제거합니다.
예시 1:
파이썬 # Python program to demonstrate # Removal of elements in a List # Creating a List List = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] print('Initial List: ') print(List) # Removing elements from List # using Remove() method List.remove(5) List.remove(6) print('
List after Removal of two elements: ') print(List)> 산출
Initial List: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] List after Removal of two elements: [1, 2, 3, 4, 7, 8, 9, 10, 11, 12]>
예시 2:
파이썬 # Creating a List List = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] # Removing elements from List # using iterator method for i in range(1, 5): List.remove(i) print('
List after Removing a range of elements: ') print(List)> 산출
List after Removing a range of elements: [5, 6, 7, 8, 9, 10, 11, 12]>
Lists(remove() 메소드)에서 요소를 삭제할 때의 복잡성:
시간 복잡도: 에)
공간 복잡도: 오(1)
방법 2: pop() 메서드 사용
팝() 함수 목록에서 요소를 제거하고 반환하는 데에도 사용할 수 있지만 기본적으로 목록의 마지막 요소만 제거합니다. 목록의 특정 위치에서 요소를 제거하려면 요소의 인덱스가 인수로 전달됩니다. 팝() 메소드.
파이썬 List = [1, 2, 3, 4, 5] # Removing element from the # Set using the pop() method List.pop() print('
List after popping an element: ') print(List) # Removing element at a # specific location from the # Set using the pop() method List.pop(2) print('
List after popping a specific element: ') print(List)> 산출
List after popping an element: [1, 2, 3, 4] List after popping a specific element: [1, 2, 4]>
Lists(pop() 메소드)에서 요소 삭제의 복잡성:
시간 복잡도: O(1)/O(n) (마지막 요소를 제거하는 경우 O(1), 첫 번째 및 중간 요소를 제거하는 경우 O(n))
공간 복잡도: 오(1)
목록 조각화
슬라이스를 사용하여 부분 문자열과 부분 목록을 얻을 수 있습니다. Python List에는 모든 요소가 포함된 전체 목록을 인쇄하는 여러 가지 방법이 있지만 목록에서 특정 범위의 요소를 인쇄하려면 다음을 사용합니다. 슬라이스 작업 .
콜론(:)을 사용하여 목록에 대한 슬라이스 작업을 수행합니다.
처음부터 범위까지 요소를 인쇄하려면 다음을 사용하십시오.
[: 색인]
최종 사용 요소를 인쇄하려면:
[:-색인]
특정 인덱스의 요소를 최종 사용까지 인쇄하려면
[색인:]
전체 목록을 역순으로 인쇄하려면 다음을 사용하십시오.
[::-1]
메모 - 목록의 요소를 뒤쪽에서 인쇄하려면 음수 색인을 사용하세요.
목록 분할 이해:
- pr[0]은 첫 번째 항목인 2에 액세스합니다.
- pr[-4]는 끝에서 네 번째 항목인 5에 액세스합니다.
- pr[2:]는 세 번째부터 마지막까지 항목 목록인 [5, 7, 11, 13]에 액세스합니다.
- pr[:4]는 첫 번째부터 네 번째까지의 항목 목록인 [2, 3, 5, 7]에 액세스합니다.
- pr[2:4]는 세 번째부터 다섯 번째까지의 항목 목록인 [5, 7]에 액세스합니다.
- pr[1::2]는 두 번째 항목부터 시작하여 대체 항목인 [3, 7, 13]에 액세스합니다.
# Python program to demonstrate # Removal of elements in a List # Creating a List List = ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] print('Initial List: ') print(List) # Print elements of a range # using Slice operation Sliced_List = List[3:8] print('
Slicing elements in a range 3-8: ') print(Sliced_List) # Print elements from a # pre-defined point to end Sliced_List = List[5:] print('
Elements sliced from 5th ' 'element till the end: ') print(Sliced_List) # Printing elements from # beginning till end Sliced_List = List[:] print('
Printing all elements using slice operation: ') print(Sliced_List)> 산출
Initial List: ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] Slicing elements in a range 3-8: ['K', 'S', 'F', 'O', 'R'] Elements sliced from 5th element till the end: ['F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] Printing all elements using slice operation: ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S']>
음수 인덱스 목록 조각화
파이썬 # Creating a List List = ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] print('Initial List: ') print(List) # Print elements from beginning # to a pre-defined point using Slice Sliced_List = List[:-6] print('
Elements sliced till 6th element from last: ') print(Sliced_List) # Print elements of a range # using negative index List slicing Sliced_List = List[-6:-1] print('
Elements sliced from index -6 to -1') print(Sliced_List) # Printing elements in reverse # using Slice operation Sliced_List = List[::-1] print('
Printing List in reverse: ') print(Sliced_List)> 산출
Initial List: ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] Elements sliced till 6th element from last: ['G', 'E', 'E', 'K', 'S', 'F', 'O'] Elements sliced from index -6 to -1 ['R', 'G', 'E', 'E', 'K'] Printing List in reverse: ['S', 'K', 'E', 'E', 'G', 'R', 'O', 'F', 'S', 'K', 'E', 'E', 'G']>
목록 이해
Python 목록 이해 튜플, 문자열, 배열, 목록 등과 같은 다른 반복 가능한 항목에서 새 목록을 만드는 데 사용됩니다. 목록 이해는 각 요소를 반복하는 for 루프와 함께 각 요소에 대해 실행되는 표현식을 포함하는 대괄호로 구성됩니다.
통사론:
newList = [ 조건이 있는 경우 oldList의 요소에 대한 표현식(요소) ]
예:
파이썬 # Python program to demonstrate list # comprehension in Python # below list contains square of all # odd numbers from range 1 to 10 odd_square = [x ** 2 for x in range(1, 11) if x % 2 == 1] print(odd_square)>
산출
[1, 9, 25, 49, 81]>
더 나은 이해를 위해 위의 코드는 다음과 유사합니다.
파이썬 # for understanding, above generation is same as, odd_square = [] for x in range(1, 11): if x % 2 == 1: odd_square.append(x**2) print(odd_square)>
산출
[1, 9, 25, 49, 81]>
List Comprehension에 대한 자세한 내용은 아래 기사를 참조하세요.
- Python 목록 이해 및 슬라이싱
- Python의 중첩 목록 이해
- Python의 목록 이해 및 ord()
Python 목록의 기본 예
- 목록의 첫 번째 요소와 마지막 요소를 교환하는 Python 프로그램
- 목록의 두 요소를 바꾸는 Python 프로그램
- Python – 문자열 목록의 요소 교체
- 파이썬 | 목록의 길이를 찾는 방법
- Python에서 최대 2개의 숫자
- Python에서 최소 두 개의 숫자
기본 목록 작업을 연습하려면 이 문서를 읽어보세요 – Python 프로그램 목록
목록 방법
| 기능 | 설명 |
|---|---|
| 추가() | 목록 끝에 요소 추가 |
| 연장하다() | 목록의 모든 요소를 다른 목록에 추가 |
| 끼워 넣다() | 정의된 인덱스에 항목 삽입 |
| 제거하다() | 목록에서 항목을 제거합니다. |
| 분명한() | 목록에서 모든 항목을 제거합니다. |
| 색인() | 일치하는 첫 번째 항목의 인덱스를 반환합니다. |
| 세다() | 인수로 전달된 항목 수를 반환합니다. |
| 종류() | 목록의 항목을 오름차순으로 정렬 |
| 뒤집다() | 목록의 항목 순서를 반대로 바꿉니다. |
| 복사() | 목록의 복사본을 반환합니다. |
| 팝() | 지정된 인덱스의 항목을 제거하고 반환합니다. 인덱스가 제공되지 않으면 마지막 항목을 제거하고 반환합니다. |
자세한 내용은 이 기사를 참조하십시오 – Python 목록 메서드
위에서 언급한 작업은 목록 자체를 수정합니다.
목록이 포함된 내장 함수
| 기능 | 설명 |
|---|---|
| 줄이다() | 인수로 전달된 특정 함수를 모든 목록 요소에 적용합니다. 중간 결과를 저장하고 최종 합계 값만 반환합니다. |
| 합집합() | 목록에 있는 숫자를 요약합니다. |
| 단어() | 주어진 유니코드 문자의 유니코드 코드 포인트를 나타내는 정수를 반환합니다. |
| cmp() | 이 함수는 첫 번째 목록이 두 번째 목록보다 크면 1을 반환합니다. |
| 최대() | 주어진 목록의 최대 요소를 반환합니다. |
| 분() | 주어진 목록의 최소 요소를 반환합니다. |
| 모두() | 모든 요소가 true이거나 목록이 비어 있으면 true를 반환합니다. |
| 어느() | 목록의 요소 중 하나라도 true이면 true를 반환합니다. 목록이 비어 있으면 false를 반환합니다. |
| 오직() | 목록의 길이 또는 목록의 크기를 반환합니다. |
| 낱낱이 세다() | 목록의 열거 객체를 반환합니다. |
| 축적하다() | 인수에 전달된 특정 함수를 모든 목록 요소에 적용하면 중간 결과가 포함된 목록이 반환됩니다. |
| 필터() | 목록의 각 요소가 참인지 아닌지 테스트합니다. |
| 지도() | 주어진 iterable의 각 항목에 주어진 함수를 적용한 후 결과 목록을 반환합니다. |
| 람다() | 이 함수는 인수를 여러 개 가질 수 있지만 평가되고 반환되는 표현식은 하나만 가질 수 있습니다. |
목록에 대한 최근 기사를 살펴보세요.
유용한 링크:
- Python 목록의 최근 기사
- 파이썬 튜토리얼
- 객관식 질문
- Python 카테고리의 모든 기사