파이썬 기본 _ 자료형 : 리스트, 튜플
파이썬
자료형
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과 같은 함수는 사용할 수 없음.
_
함수가 언뜻 보기엔 비슷하게 쓰이는 경우가 많아 보인다.
약간 차이가 나는 그 쓰임들을 알아 두어야 한다.