파이썬 튜토리얼-데이터 타입리스트

Jinku Hu 2023년1월30일
  1. 파이썬리스트 만들기
  2. 파이썬리스트 요소에 액세스
  3. 파이썬리스트에 요소 추가
  4. 파이썬리스트에서 요소 삭제
  5. 파이썬리스트 메소드
  6. 파이썬리스트 회원 확인
  7. 리스트 요소 반복
파이썬 튜토리얼-데이터 타입리스트

이 섹션에서는 Python 프로그래밍에서 목록을 만들고 업데이트하는 방법을 배웁니다. 또한 파이썬에서 목록을 슬라이스하는 방법을 배웁니다.

파이썬리스트 만들기

대괄호[]를 사용하여 목록을 작성할 수 있습니다. 리스트의 요소는 대괄호 안에 배치되며 쉼표,로 구분됩니다. 목록의 요소는 다른 데이터 유형을 가질 수 있습니다.

l = []  # empty list
l = [2, 4, 6, 8]  # elements of same data type
l = [2, "Python", 1 + 2j]  # elements of different data type

중첩 된 목록, 즉 다른 목록 안에있는 목록을 만들 수도 있습니다.

l = [[2, 4, 5], "python"]

파이썬리스트 요소에 액세스

다음은 목록 요소에 액세스 할 수있는 몇 가지 방법입니다.

리스트 인덱스

색인을 사용하여 목록의 요소에 액세스 할 수 있습니다. 목록의 색인은 0부터 시작합니다.

>>> x = [2, 4, 6, 8, 10]
>>> print('x[0] =', x[0])			# display the first element
x[0] = 2
>>> print('x[0:2] =', x[0:2])		# display the first two elements of list that is at location 0 and 1
x[0:2] = [2, 4]
>>> print('x[2:] =', x[2:])			# display elements from location 2 (third element)
x[2:] = [6, 8, 10]

list 는 변경 가능하기 때문에 list 요소는 수정 (갱신, 삭제, 추가) 될 수 있습니다. 인덱스가 목록 인덱스 범위를 벗어나면 IndexError 가 나타납니다.

경고
인덱스는 정수 여야합니다. 그렇지 않으면 TypeError 가 발생합니다.

파이썬리스트 네거티브 인덱스

음수 색인을 사용하여 목록의 요소에 액세스 할 수 있습니다. 예를 들어, 인덱스-1 은 마지막 요소를 나타냅니다. 마찬가지로 인덱스-2 는 두 번째 마지막 항목을 나타냅니다.

>>> l = [2, 4, 6, 8, 10]
>>> print(l[-1])
10
>>> print(l[-2])
8
>>> print(l[-3])
6

파이썬에서리스트 슬라이스

슬라이싱 연산자:는 목록에서 다양한 요소를 추출하는 데 사용됩니다.

>>> l = [2, 4, 6, 8, 10]
>>> print(l[1:3])		# print from location 1 to 3
[4, 6]
>>> print(l[:2])		# print from beginning to location 2
[2, 4]
>>> print(l[2:])		# print elements from location 2 onwards
[6, 8, 10]
>>> print(l[:])			# print the entire list
[2, 4, 6, 8, 10]

파이썬리스트에 요소 추가

apend()

리스트 메소드 append()를 사용하여리스트의 끝에 아이템을 추가 할 수 있습니다.

>>> l = [1, 3, 5, 7, 9, 11]
>>> l.append(13)
>>> print(l)
[1, 3, 5, 7, 9, 11, 13]

extend()

append(x)는 x 를 하나의 항목으로 목록에 추가합니다. extend(x)메소드는 주어진 객체 x 의 모든 항목을 추가하여 목록을 확장하는 올바른 메소드입니다.

>>> l = [1, 3, 5, 7, 9, 11]
>>> l.extend([13, 14, 15])
>>> print(l)
[1, 3, 5, 7, 9, 11, 13, 14, 15]

+ 연산자

extend()메소드 외에도+연산자를 사용하여 두 개의 목록을 연결할 수 있습니다.

>>> l = [2, 4, 6, 8, 10]
>>> print(l + [12, 14, 16])
[2, 4, 6, 8, 10, 12, 14, 16]

insert(i, x)

insert(i, x)메소드를 사용하여 주어진 인덱스 ix 요소를 삽입 할 수 있습니다.

>>> l = [2, 4, 6, 8, 10]
>>> l.insert(2, 0)
>>> print(l)
[2, 4, 0, 6, 8, 10]

파이썬리스트에서 요소 삭제

del 문은 목록에서 하나 이상의 항목을 삭제합니다. del 을 사용하여 전체 목록을 삭제할 수도 있습니다.

>>> l = [2, 4, 6, 8, 10]
>>> del l[4]
>>> print(l)
[2, 4, 6, 8]
>>> del l[0:2]
>>> print(l)
[6, 8]
>>> del l
>>> print(l)
Traceback (most recent call last):
    print(l)
NameError: name 'l' is not defined

del l 에 의해 목록이 삭제 된 후,이 목록 l을 참조하는 것은 오류입니다.

리스트를 지우려면 clear()메소드를 사용할 수도 있습니다.

파이썬리스트 메소드

다음 표는 Python 목록 방법을 설명합니다.

행동 양식 기술
append() 목록의 끝에 항목을 추가
extend() 목록에 둘 이상의 항목을 추가하십시오. 목록의 요소를 다른 목록에 추가하여 작동합니다 (요소를 추가하려는 경우).
삽입() 원하는 위치에 요소를 추가하십시오.
제거() 목록에서 특정 항목을 제거하십시오.
pop() 주어진 위치에서 항목을 제거하고 해당 항목을 반환합니다.
clear() 목록에서 모든 요소를 ​​제거하십시오.
인덱스() 리스트에서 최초로 일치하는 요소의 인덱스를 돌려줍니다.
count() 전달 된 총 항목 수를 반환
정렬() 목록의 요소를 오름차순으로 정렬합니다.
역() 목록 요소의 순서를 반대로 바꿉니다.
copy() 이미 존재하는 목록의 사본을 반환합니다.

파이썬리스트 회원 확인

in 키워드는 요소가 목록의 멤버인지 여부를 확인합니다.

>>> l = [2, 4, 6, 8, 10]
>>> print(5 in l)
False
>>> print(2 in l)
True

리스트 요소 반복

for loop를 사용하여 목록을 반복 할 수 있습니다.

l = [2, 4, 6, 8, 10]
for i in l:
    print(i)
2
4
6
8
10

목록에 적용 할 수있는 내장 함수

다음 표는 목록과 함께 사용하여 다양한 작업을 수행 할 수있는 기본 제공 함수 모음입니다.

기능 기술
all() 리스트의 모든 요소가 ‘참’이면 ‘참’을 반환합니다. 또한 목록이 비어 있으면 True 를 반환합니다.
any() 리스트의 어떤 요소라도 True 이면 True 를 반환합니다. 목록이 비어 있으면 False를 반환합니다.
enumerate() 리스트의 모든 요소의 인덱스와 값을 터플로서 돌려줍니다. 열거 객체를 돌려줍니다.
len() 리스트 내의 아이템 수 또는리스트의 길이를 돌려줍니다.
list() 시퀀스 (튜플, 세트, ​​문자열, 사전)를 목록으로 변환합니다.
max() 리스트의 최대 수를 돌려줍니다.
분() 목록에서 최소 숫자를 반환하십시오.
정렬() 정렬 된 목록을 반환합니다.
sum() 리스트의 모든 요소의 합을 돌려줍니다.
작가: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook