LG U+ why not SW 5/python

파이썬 기본 _ 자료형 : 리스트, 튜플

wangatheringdata 2025. 2. 9. 03:39

파이썬

 

 

 

 

 

자료형

 

 

 

1. 리스트

 

a = 1 변수가 ' 1이라는 단일 값을 a라는 박스 속에 넣어 준다.'라는 개념이라면,

a  = [1, 2, 3, ..., n] 리스트는 '1, 2, 3, ... n이라는 다수의 값을 a라는 서랍에 넣어 준다. 혹은 포함한다.'의 개념.

 

한개의 리스트 안에 다양한 자료형을 담을 수 있으므로,

리스트 내부의 자료형을 잘 확인해야 함.

 

 

1) 리스트 인덱싱

a = [1, 2, 3]
a
>>> [1, 2, 3]

 

a = [1, 2, 3]
a[1]
>>> 2

 

 

1-2) 다중 리스트 인덱싱

 

_ 이중 리스트

a = [1, 2, 3, ['a', 'b', 'c']]

a[0]
>>> 1
a[-1]
>>> ['a', 'b', 'c']
a[3]
>>> ['a', 'b', 'c']

 

_ 삼중 리스트

a = [1, 2, ['a', 'b', ['Life', 'is']]]

a[2][2][0]
>>> 'Life'

 

a = [1, 'hello', 3]

a[1][1]
>>> 'e'

 

 

2) 리스트 슬라이싱

: 리스트를 범위를 정해 덩어리째로 가져옴.

: a[0:5] => 0이상 5미만 1칸(기본)씩 간격으로

: a[0:5:2] => 0이상 5미만 2칸씩 간격으로

: a[::2] => 앞에서 2칸씩 간격으로

: a[::-2] => 뒤에서 2칸씩 간격으로

 

a = [1, 2, 3, 4, 5]
a[0:2]
>>> [1, 2]

 

a = "12345"
a[0:2]
>>> '12'

 

 

3) 리스트 값 수정

 

a = [1, 2, 3]
a[2] = 4
a
>>> [1, 2, 4]

 

 

4) 리스트 삭제 : del a[]

: 해당 값을 삭제하고 리스트가 다시 만들어짐.

 

a = [1, 2, 3]
del a[1]
a
>>> [1, 3]

 

 

 

1-2. 리스트 관련 함수

 

1) 요소 추가 : .append()

: 리스트.append(값)

: 리스트 안에 괄호 안의 값을 마지막에 추가

 

a = [1, 2, 3]
a.append(4)
a
>>> [1, 2, 3, 4]

 

a.append([5, 6])
a
>>> [1, 2, 3, 4, [5, 6]]

 

 

1-2) 요소 삽입 : .insert()

: 리스트.insert(해당 인덱스 값, 해당 값)

: 해당 값을 리스트 안에 해당 인덱스 값으로 삽입

 

a = [1, 2, 3]
a.insert(0, 4)
a
>>> [4, 1, 2, 3]

 

 

1-3) 확장 : .extend([])

: 리스트.extend([리스트2])

: 리스트 안에 리스트2의 값을 추가

 

a = [1, 2, 3]
a.extend([4, 5])
a
>>> [1, 2, 3, 4, 5]
b = [6, 7]
a.extend(b)
a
>>> [1, 2, 3, 4, 5, 6, 7]

 

a.extend([4, 5])

a += [4, 5]

a = a + [4, 5]

*위 세개는 같은 개념

 

 

2) 정렬 : .sort()

: 숫자 혹은 알파벳 오름차순 정렬 

 

a = [1, 4, 3, 2]
a.sort()
a
>>> [1, 2, 3, 4]

 

 

3) 뒤집기 : .reverse(): 값을 단순히 역순으로 정렬

 

a = ['a', 'c', 'b']
a.reverse()
a
>>> ['b', 'c', 'a']

 

a = ['a', 'c', 'b']

a.sort()
a.reverse()
a
>>> ['c', 'b', 'a']

 

 

4) 인덱스 반환 : .index()

: 리스트.index(값)

: 리스트에 값이 있다면, 해당 값의 위치인 인덱스 값을 반환

 

a = [1, 2, 3]
a.index(3)
>>> 2
a.index(1)
>>> 0

 

 

5) 요소 제거: .remove()

: 리스트.remove(해당 값)

: 리스트에서 첫번째로 나오는 해당 값을 삭제

 

a = [1, 2, 3, 1, 2, 3]
a.remove(3)
a
>>> [1, 2, 1, 2, 3]

a.remove(3)
a
>>> [1, 2, 1, 2]

 

 

 

2. 튜플

 

a  = [1, 2, 3, ..., n] 리스트는 '다수의 값을 a라는 서랍에 넣어 준다. 혹은 포함한다.'의 개념이라면, 

a = (1, 2, 3, ..., n) 튜플은 '다수의 값을 a라는 잠긴서랍에 넣어 둔다. 혹은 포함한다.'의 개념.

 

리스트는 내부 값의 변경이 자유로우나,

튜플은 내부 값을 변경할 수 없음.

 

리스트 함수와 동일하게 사용 가능하나,

변경되는 것이 아닌 또 하나의 튜플이 생성되는 개념.

그러므로 sort, insert, remove, pop과 같은 함수는 사용할 수 없음.

 

 

 

 

_

함수가 언뜻 보기엔 비슷하게 쓰이는 경우가 많아 보인다.

약간 차이가 나는 그 쓰임들을 알아 두어야 한다.