Python - 리스트(list)

lsjoon·2022년 11월 1일
0

python

목록 보기
3/16

시퀀스 자료형 (Sequence types)

각각의 요소들(elements)이 연속적으로 이어진 자료형

리스트(list) : [1, 2, 3, 4]
튜플(Tuple) : (1, 2, 3, 4)
range : range(5) = [0, 1, 2, 3, 4]
문자열 : 'Hello'

list

여러 개의 자료를 하나의 변수로 관리하기 위해 사용하는 자료형의 한 종류

'대괄호[ ]'를 이용하여 생성

x = [ 1, 2, 3, '가', '나', '다' ]

- 리스트의 특징

1. 인덱스(위치)를 가짐

리스트의 자료들은 각각 지정된 위치 값(인덱스, Index)을 포함함.
즉, 순서가 있음 (순서 번호는 0부터 시작)

x = [ '가', '나', '다', '라' ] 일때,
'가'의 인덱스는 0, '라'의 인덱스는 3

.

2. 범위를 가짐

리스트의 자료들은 순서가 있기 때문에, 인덱스를 이용하여 범위를 표현할 수 있음.

x = [ '가', '나', '다', '라' ] 일때,
print(x[1:3]) 👉 [ '나', '다', '라' ]

이때, 0의 값은 생략이 가능하며, 음수로 지정도 가능함.

print(x[:1]) 👉 [ '가', '나']
print(x[:-1]) 👉 [ '가', '나', '다' ]

.

3. 자료의 추가, 삭제, 수정이 가능

명령어를 통해 리스트의 특정 위치에 자료를 삽입하거나, 특정 위치의 자료를 수정하거나, 또는 추가, 삭제가 가능함.


- 리스트 명령어

- 추가

  • x.append(d)
    👉 자료 'd'를 리스트 'x'의 마지막 원소 뒤에 추가 (한 개의 자료만 추가 가능)

  • x.insert(i.d)
    👉 인덱스 'i'의 자리에 자료 'd'를 추가 (한 개의 자료만 추가)

- 삭제

  • x.clear()
    👉 리스트 'x'를 비움

  • x.remove(d)
    👉 리스트 'x'에서 자료 'd'를 제거 (다수의 'd'가 존재시, 인덱스가 제일 작은 자료를 제거)

- 정렬

  • x.reverse()
    👉 리스트 'x'의 인덱스를 역순으로 정렬

  • x.sort()
    👉 리스트 'x'를 오름차순으로 정렬

  • x.sort(reverse=True)
    👉 리스트 'x'를 내림차순으로 정렬

- 수정

  • x[i] = d
    👉 리스트 'x'의 인덱스 'i'를 자료 'd'로 변경 (기존 값에 덮어씀)

- 출력

  • print(x)
    👉 리스트 'x'의 자료를 인덱스 순으로 출력

  • print(x[i])
    👉 리스트 'x'에서 인덱스 'i'의 자료를 출력

  • print(x[i:j])
    👉 리스트 'x'에서 인덱스 'i'부터 'j'까지의 자료를 출력

  • print(len(x))
    👉 리스트 'x'에 포함된 자료의 개수를 출력

  • x.count(d)
    👉 리스트 'x'에 포함된 자료 'd'의 개수를 반환

  • x.index(d)
    👉 리스트 'x'에서 자료 'd'의 인덱스를 반환, (다수의 'd'가 존재시, 제일 작은 값의 인덱스를 출력)

  • x.pop(n)
    👉 리스트 'x'의 인덱스 'n'에 위치한 자료를 반환하고 삭제 (인덱스 미지정 시, 인덱스가 제일 큰 자료를 반환하고 삭제)

  • d (not) in x
    👉 리스트 'x' 안에 자료 'd'가 있는지 확인 후 있으면 True, 없으면 False를 반환
    👉 not 추가 시, 자료 'd'가 없는지 확인 후 없으면 True, 있으면 False를 반환

  • sum(x)
    👉 리스트 'x'안의 숫자 자료형(실수, 정수)을 모두 더한 후 반환

- 기타

  • 리스트 연결(+)
    : z = x + y

    👉 리스트 'x'와 'y' 연결하여 리스트 'z'를 생성

  • 리스트 반복(*)
    : y = x * i

    👉 리스트 'x'를 i번 반복하여 리스트 'y'를 생성

  • 리스트 복사(copy)
    : y = x.copy()

    👉 리스트 'x'의 자료를 복사하여 리스트 'y'를 생성

  • 리스트 확장(extend)
    : x.extend(y)

    👉 리스트 'x'에 리스트 'y'를 이어붙임

  • 리스트 변환
    : str.split('c')

    👉 'c'를 기준으로 문자열 'str'을 쪼개서 리스트로 반환 (문자열 > 리스트)

    ex)
    my_star = "1 2 3 4 5"
    print(my_str.split())
    >>> ['1', '2', '3', '4', '5']
    .
    .
    elements = "Na, Mg, Al, Si"
    print(elements.split(',')
    >>> ['Na', 'Mg', 'Al', 'Si']

  • 문자열 변환
    : 'd'.join(x)

    👉 'd'를 기준으로 리스트 'x'을 합쳐서 문자열로 반환 (문자열 > 리스트)

    ex)
    my_list : ['a', 'p', 'p', 'l', 'e']
    print(''.join(my_list))
    >>> apple
    .
    .
    friend = ['Pat', 'Mat']
    print('&'.join(friend))
    >>> Pat&Mat

0개의 댓글