산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> 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]

등등. 목록에서 각 값에 액세스하려면 다음을 사용합니다.

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]

목록 요소 삭제

목록 요소를 삭제하는 Python 메서드에는 list.remove(), list.pop() 및 del 연산자의 3가지가 있습니다. Remove 메서드는 제거할 특정 요소를 인수로 사용하고 pop 및 del은 삭제할 요소의 인덱스를 인수로 사용합니다. 예:

목록 =[3, 5, 7, 8, 9, 20]

목록에서 3(첫 번째 요소)을 삭제하려면 다음을 사용할 수 있습니다.

목록에서 인덱스 3의 항목인 8을 삭제하려면 다음을 사용할 수 있습니다.

목록 요소 추가

목록에 요소를 추가하기 위해서는 append 메소드를 사용하며, 이는 목록의 끝에 요소를 추가합니다.

예:

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 메서드가 작동하지 않습니다. "TypeError :+에 대해 지원되지 않는 피연산자 유형:'int' 및 'str'"

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']

'문자열'을 사용하여 동일한 목록을 알파벳순으로 정렬할 수 있습니다.

목록 반복

목록을 통한 반복은 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 함수입니다. 긴 루프를 줄이고 코드를 더 쉽게 읽고 유지 관리할 수 있도록 도와줍니다.

예를 들어; 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 루프를 사용하는 것이 더 나은 옵션입니다. 특히 코드가 복잡한 경우에는 더욱 그렇습니다. 그러나 대부분의 경우 목록 이해를 사용하면 코딩이 더 쉽고 빨라집니다.

다음은 몇 가지 목록 기능과 메서드, 설명이 포함된 표입니다.

내장 기능

기능 설명
둥근() 인수로 전달된 숫자를 지정된 자릿수로 반올림하고 부동 소수점 값을 반환합니다.
최소() 주어진 목록의 최소 요소 반환
최대() 주어진 목록의 최대 요소를 반환
len() 목록의 길이를 반환
열거() 이 내장 함수는 반복 가능한 항목의 값과 인덱스를 모두 생성하므로 수동으로 계산할 필요가 없습니다.
필터() 목록의 각 요소가 참인지 아닌지 테스트
람다 def(함수 생성을 위한)가 구문이 아닌 위치, 목록 리터럴 또는 함수의 호출 인수 내부에 나타날 수 있는 표현식
지도() 주어진 iterable의 각 항목에 주어진 함수를 적용한 후 결과 목록을 반환
누적() 인수에 전달된 특정 함수를 모든 목록 요소에 적용하면 중간 결과가 포함된 목록이 반환됩니다.
합() 목록에 있는 모든 숫자의 합계를 반환합니다.
Cmp() 두 목록을 비교하는 데 사용되며 첫 번째 목록이 두 번째 목록보다 크면 1을 반환합니다.
삽입 특정 위치에 나열할 요소 삽입

목록 방법

기능 설명
추가() 목록 끝에 새 항목 추가
지우기() 목록에서 모든 항목 제거
복사() 원본 목록의 복사본을 반환합니다.
확장() 목록 끝에 많은 항목 추가
카운트() 목록에서 특정 항목의 발생 횟수를 반환합니다.
인덱스() 목록의 특정 요소의 인덱스를 반환
팝() 목록에서 특정 인덱스의 항목 삭제(위치별 삭제)
제거() 목록에서 지정된 항목 삭제(값별 삭제)
역방향() 목록 요소의 순서를 반대로 하는 제자리 반전 방법

요약


python

  1. 파이썬 데이터 유형
  2. 파이썬 연산자
  3. 파이썬 통과 문
  4. 파이썬 함수 인수
  5. 파이썬 사전
  6. 파이썬 반복자
  7. 파이썬 클로저
  8. 파이썬 날짜 시간
  9. Python Average:Python에서 목록의 AVERAGE를 찾는 방법
  10. 예제가 있는 Python 목록 count()