Python 목록 이해, 추가, 정렬, 길이 [예]
무엇이 Python 목록?
목록은 말 그대로 다양한 내용을 포함하는 컨테이너입니다. Python 객체, 정수, 단어, 값 등이 될 수 있습니다. 다른 프로그래밍 언어의 배열과 동일합니다. 대괄호로 표현되며(이것은 괄호로 구분된 튜플과 차별화되는 속성 중 하나입니다). 또한 변경 가능합니다. 즉, 수정되거나 업데이트될 수 있습니다. 변경 불가능한 튜플과는 다릅니다.
예 Python 기울기:
Python 목록은 동질적일 수 있습니다. 즉, 같은 유형의 객체를 포함할 수 있고, 이질적일 수 있습니다. 즉, 서로 다른 유형의 객체를 포함할 수 있습니다.
동질 목록의 예는 다음과 같습니다.
list of integers = [1, 2, 3, 8, 33] list of animals = ['dog', 'cat', 'goat'] list of names = ['John', 'Travis', 'Sheila'] list of floating numbers = [2.2, 4.5, 9.8, 10.4]
이질적인 목록의 예는 다음과 같습니다.
[2, 'cat', 34.33, 'Travis'] [2.22, 33, 'pen']
목록 내의 값에 액세스
목록 내의 값에 액세스하려면 목록 내의 개체 색인을 사용할 수 있습니다. 의 인덱스 Python 목록은 순서가 지정된 목록 내의 요소 위치를 나타냅니다. 예를 들어:
list = [3, 22, 30, 5.3, 20]
- 위 목록의 첫 번째 값인 3의 인덱스는 0입니다.
- 두 번째 값인 22의 인덱스는 1입니다.
- 세 번째 값인 30의 인덱스는 2입니다.
등등. 목록의 각 값에 액세스하려면 다음을 사용합니다.
list[0] to access 3 list[1] to access 22 list[2] to access 30 list[3] to access 5.3 list[4] to access 20
목록의 마지막 구성원은 인덱스 -1을 사용하여 액세스할 수도 있습니다. 예를 들어,
list[-1] = 20
Python 리스트 슬라이싱
리스트 슬라이싱은 리스트의 부분 집합을 분할하는 방법이며, 이를 위해 리스트 객체의 인덱스도 사용됩니다. 예를 들어, 위와 동일한 목록 예제를 사용합니다.
list[:] = [3, 22, 30, 5.3, 20] (all the members of the list]; list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the member at index 3); list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without the member at index 4) list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third element, to the second to the last element in the list, which is 5.3).
Python 목록은 상한 배타적이며 이는 목록 분할 중 마지막 인덱스가 일반적으로 무시됨을 의미합니다. 그렇기 때문에
list[2:-1] = [30, 5.3]
, [30, 5.3, 20]이 아닙니다. 위에 제공된 다른 모든 목록 분할 예제에도 동일하게 적용됩니다.
목록 업데이트 중
목록 = [물리, 화학, 수학]이 있고 목록을 [생물학, 화학, 수학]으로 변경하여 인덱스 0의 멤버를 효과적으로 변경하려고 한다고 가정해 보겠습니다. 해당 인덱스를 원하는 새 멤버.
즉,
list = [physics, chemistry, mathematics] list[0] = biology print(list)
산출물: [생물학, 화학, 수학]
그러면 인덱스 0(물리)의 멤버가 원하는 새 값(화학)으로 대체됩니다. 변경하려는 목록의 모든 구성원이나 하위 집합에 대해 이 작업을 수행할 수 있습니다.
다른 예를 들어보자면, 정수라는 목록이 있고 [2, 5, 9, 20, 27]이라는 숫자가 들어 있다고 가정해보자. 그 목록의 5를 10으로 바꾸려면 다음과 같이 하면 된다.
integers = [2, 5, 9, 20, 27] integers[1] = 10 print(integers) >>> [2, 10, 9, 20, 27]
정수 목록의 마지막 멤버인 27을 30.5와 같은 여유 숫자로 바꾸려면 다음을 사용합니다.
integers = [2, 5, 9, 20, 27] integers[-1] = 30.5 print(integers) >>> [2, 5, 9, 20, 30.5]
목록 요소 삭제
3이 있습니다 Python 목록 요소를 삭제하기 위한 메서드: list.remove(), list.pop(), del 연산자. Remove 메서드는 제거할 특정 요소를 인수로 받는 반면, pop과 del은 제거할 요소의 인덱스를 인수로 받습니다. 예를 들어:
목록 = [3, 5, 7, 8, 9, 20]
목록에서 3(첫 번째 요소)을 삭제하려면 다음을 사용할 수 있습니다.
- list.remove(3) 또는
- list.pop[0] 또는
- 델 목록[0]
목록에서 인덱스 8에 있는 항목 3을 삭제하려면 다음을 사용할 수 있습니다.
- list.remove(8) 또는
- 목록.팝[3]
목록 요소 추가
목록에 요소를 추가하려면 추가 메소드가 사용되며, 이는 목록의 끝에 요소를 추가합니다.
예 :
list_1 = [3, 5, 7, 8, 9, 20] list_1.append(3.33) print(list_1) >>> list_1 = [3, 5, 7, 8, 9, 20, 3.33] list_1.append("cats") print(list_1) >>> list_1 = [3, 5, 7, 8, 9, 20, 3.33, "cats"]
내장 함수(메서드) 나열
다음은 목록에 내장된 함수와 메서드의 목록과 설명입니다.
- 렌(목록): 이는 목록의 길이를 출력으로 제공합니다. 예를 들어:
numbers = [2, 5, 7, 9] print(len(numbers)) >>> 4
- 최대(목록): 목록의 항목을 최대값으로 반환합니다. 예를 들어:
numbers = [2, 5, 7, 9] print(max(numbers)) >>> 9
- 최소(목록): 목록의 항목 중 최소값을 반환합니다. 예를 들어:
numbers = [2, 5, 7, 9] print(min(numbers)) >>> 2
- 목록(튜플): 튜플 객체를 리스트로 변환합니다. 예를 들어;
animals = (cat, dog, fish, cow) print(list(animals)) >>> [cat, dog, fish, cow]
- 목록.추가(요소): 요소를 목록에 추가합니다. 예를 들어;
numbers = [2, 5, 7, 9] numbers.append(15) print(numbers) >>> [2, 5, 7, 9, 15]
- 목록.팝(색인): 목록에서 지정된 색인에 있는 요소를 제거합니다. 예를 들어;
numbers = [2, 5, 7, 9, 15] numbers.pop(2) print(numbers) >>> [2, 5, 9, 15]
- 목록.제거(요소): 목록에서 요소를 삭제합니다. 예를 들어;
values = [2, 5, 7, 9] values.remove(2) print(values) >>> [5, 7, 9]
- 목록.역방향(): 목록의 개체를 반전시킵니다. 예를 들어;
values = [2, 5, 7, 10] values.reverse() print(values) >>> [10, 7, 5, 2]
- 목록.색인(요소): 목록 내 요소의 인덱스 값을 가져옵니다. 예를 들어;
animals = ['cat', 'dog', 'fish', 'cow', 'goat'] fish_index = animals.index('fish') print(fish_index) >>> 2
- 합(목록): 목록에 있는 모든 값의 합계를 구합니다. 값이 모두 숫자(정수 또는 소수)인 경우입니다. 예를 들어;
values = [2, 5, 10] sum_of_values = sum(values) print(sum_of_values) >>> 17
목록에 문자열과 같이 숫자가 아닌 요소가 포함되어 있으면 sum 메서드가 작동하지 않습니다. 다음과 같은 오류가 발생합니다.유형 오류: +에 대해 지원되지 않는 피연산자 유형: 'int' 및 'str'”
- list.sort(): 정수, 부동 소수점 숫자 또는 문자열 목록을 오름차순 또는 내림차순으로 정렬합니다. 예를 들어:
values = [1, 7, 9, 3, 5] # To sort the values in ascending order: values.sort() print(values) >>> [1, 3, 5, 7, 9]
또 다른 예 :
values = [2, 10, 7, 14, 50] # To sort the values in descending order: values.sort(reverse = True) print(values) >>> [50, 14, 10, 7, 2]
문자열 목록은 알파벳순이나 문자열 길이를 기준으로 정렬할 수도 있습니다. 예를 들어;
# to sort the list by length of the elements strings = ['cat', 'mammal', 'goat', 'is'] sort_by_alphabet = strings.sort() sort_by_length = strings.sort(key = len) print(sort_by_alphabet) print(sort_by_length) >>> ['cat', 'goat', 'is', 'mammal'] ['is', 'cat', 'goat', 'mammal']
'strings'를 사용하면 동일한 목록을 알파벳순으로 정렬할 수 있습니다.
목록 반복
목록을 통한 반복은 다른 반복 함수와 동일한 방식으로 수행할 수 있습니다. Python. 이런 방식으로 목록의 여러 요소에 대해 동시에 메서드를 수행할 수 있습니다. 예를 들어:
목록 = [10, 20, 30, 40, 50, 60, 70].
이 목록의 모든 요소를 반복하려면 각 요소에 10을 더합니다.
for elem in list: elem = elem + 5 print(elem) >>>>15 25 35 45 55 65 75
목록의 처음 세 요소를 반복하고 모두 삭제합니다.
for elem in list[:3]: list.remove(elem) >>>list = [40, 50, 60, 70]
3을 반복하려면rd (색인 2)를 목록의 마지막 요소에 추가하고 new_list라는 새 목록에 추가합니다.
new_list = [] for elem in list[2:]: new_list.append(elem) print(“New List: {}”.format(new_list)) Output: New List: [30, 40, 50, 60, 70]
이런 식으로, 어떤 방법이나 함수라도 목록의 멤버에 적용하여 특정 작업을 수행할 수 있습니다. 목록의 모든 멤버를 반복하거나 목록 슬라이싱을 사용하여 목록의 하위 집합을 반복할 수 있습니다.
리스트 이해 Python
목록 이해는 다음과 같습니다. Python 이미 생성된 시퀀스를 사용하여 새 시퀀스(예: 목록, 사전 등)를 생성하는 데 사용되는 함수입니다. 긴 루프를 줄이고 코드를 더 쉽게 읽고 유지 관리하는 데 도움이 됩니다.
예를 들어 1부터 9까지의 모든 숫자의 제곱을 포함하는 목록을 만들고 싶다고 가정해 보겠습니다.
list_of squares = [] for int in range(1, 10): square = int ** 2 list_of_squares.append(square) print(list_of_squares) List_of_squares using for loop: [1, 4, 9, 16, 25, 36, 49, 64, 81]
목록 이해로 동일한 작업을 수행하려면 다음을 수행하십시오.
list_of_squares_2 = [int**2 for int in range(1, 10)] print('List of squares using list comprehension: {}'.format(list_of_squares_2)) Output using list comprehension: [1, 4, 9, 16, 25, 36, 49, 64, 81]
위에서 보았듯이, 리스트 컴프리헨션을 사용하여 코드를 작성하는 것은 기존의 for 루프를 사용하는 것보다 훨씬 짧고 더 빠릅니다. 이것은 for 루프 대신 리스트 컴프리헨션을 사용하는 한 가지 예일 뿐이지만, 이는 for 루프를 사용할 수 있는 많은 곳에서 복제하여 사용할 수 있습니다. 때로는 for 루프를 사용하는 것이 더 나은 옵션이며, 특히 코드가 복잡한 경우 그렇지만 많은 경우 리스트 컴프리헨션이 코딩을 더 쉽고 빠르게 만들어줍니다.
다음은 일부 목록 함수 및 메서드와 해당 설명이 포함된 표입니다.
내장 함수
FUNCTION | 기술 |
---|---|
둥근() | 인수로 전달된 숫자를 지정된 자릿수로 반올림하고 부동 소수점 값을 반환합니다. |
최소() | 주어진 목록의 최소 요소를 반환합니다. |
최대() | 주어진 목록의 최대 요소를 반환합니다. |
len () | 목록의 길이를 반환합니다. |
낱낱이 세다() | 이 내장 함수는 iterable 항목의 값과 인덱스를 모두 생성하므로 수동으로 계산할 필요가 없습니다. |
필터() | 목록의 각 요소가 참인지 아닌지 테스트합니다. |
람다 | def(함수 생성용)가 구문적이지 않은 위치, 목록 리터럴 또는 함수의 호출 인수 내에서 나타날 수 있는 표현식 |
지도() | 주어진 iterable의 각 항목에 주어진 함수를 적용한 후 결과 목록을 반환합니다. |
축적하다() | 인수에 전달된 특정 함수를 모든 목록 요소에 적용하면 중간 결과가 포함된 목록이 반환됩니다. |
합집합() | 목록에 있는 모든 숫자의 합계를 반환합니다. |
cmp() | 이는 두 목록을 비교하는 데 사용되며 첫 번째 목록이 두 번째 목록보다 크면 1을 반환합니다. |
끼워 넣다 | 특정 위치에 나열할 요소 삽입 |
방법 나열
FUNCTION | 기술 |
---|---|
추가() | 목록 끝에 새 항목을 추가합니다. |
분명한() | 목록에서 모든 항목을 제거합니다. |
복사() | 원본 목록의 복사본을 반환합니다. |
연장하다() | 목록 끝에 많은 항목 추가 |
세다() | 목록에서 특정 항목의 발생 횟수를 반환합니다. |
색인() | 목록의 특정 요소에 대한 인덱스를 반환합니다. |
팝() | 목록의 특정 인덱스에 있는 항목을 삭제합니다(위치별 삭제). |
제거하다() | 목록에서 지정된 항목을 삭제합니다(값별로 삭제). |
Rev어리() | 목록 요소의 순서를 바꾸는 내부 반전 방법 |
제품 개요
- 목록은 말 그대로 다양한 내용을 포함하는 컨테이너입니다. Python 정수, 단어, 값 등이 될 수 있는 객체
- Python 목록은 동질적일 수 있습니다. 즉, 같은 유형의 객체를 포함할 수 있고, 이질적일 수 있습니다. 즉, 서로 다른 유형의 객체를 포함할 수 있습니다.
- 목록 내의 값에 액세스하려면 목록 내의 개체 색인을 사용할 수 있습니다.
- 리스트 슬라이싱은 리스트의 부분 집합을 분할하는 방법이며, 이를 위해 리스트 객체의 인덱스도 사용됩니다.
- 목록 요소를 삭제하는 세 가지 방법은 다음과 같습니다. 1)list.remove(), 2)list.pop(), 3)del 연산자
- Append 메소드는 요소를 추가하는 데 사용됩니다. 그러면 목록 끝에 요소가 추가됩니다.
- 루핑 방식 Python 프로그램은 데이터 목록의 여러 요소에 대해 동시에 수행될 수 있습니다.
- 목록 이해는 다음과 같습니다. Python 이미 생성된 시퀀스를 사용하여 새 시퀀스(예: 목록, 사전 등)를 생성하는 데 사용되는 함수입니다.