python/파이썬 기본
3. list & tuple
Abokadoh
2023. 2. 11. 16:47
1. list() 함수
#<in>
# string 타입을 list로 변환
a = 'hello world'
a_list = list(a)
a_list
#<out>
['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
list()
함수로 str type
의 자료를 list
로 변환하면 문자열 한 개씩 구분하여 list
로 만든다.
이제 tuple type
을 변환해보자.
#<in>
a = (1, 2, 3)
a_list = list(a)
a_list
#<out>
[1, 2, 3]
기존에 tuple type
의 자료형을 문자, 순서는 그대로 tuple
에서 list
로 변환해 주는 것을 확인할 수 있다.
2. list slicing
list type
의 slicing을 공부해보자.
#<in>
a = [1, 2, 3, 4, 5, 6, 7, 8]
print(a[4:7])
print(a[:7])
print(a[4:])
print(a[::2])
#<out>
[5, 6, 7]
[1, 2, 3, 4, 5, 6, 7]
[5, 6, 7, 8]
[1, 3, 5, 7]
- a[start: end: increment] → [시작:끝:간격]
3. tuple
list
와 같이 복수개의 값을 갖는 컬렉션 타입- 생성된 후 변경이 불가능
tuple unpacking
- 'tuple'의 값을 차례대로 변수에 대입한다.
#<in>
a, b, c, d = 100, 200, 300, 400
print(a, b, c, d)
#<out>
100 200 300 400
- 변수명 앞에 *표시를 하면 여러 개의 값을 갖는 리스트가 된다.
#<in>
a, b, *c = (1, 2, 3, 4, 5)
print(a)
print(b)
print(c)
#<out>
1
2
[3, 4, 5]
- 사용되지 않거나 필요없는 변수는 언더스코어(
_
)표시를 한다.
#<in>
a,_ = (1, 2)
print(a)
#<out>
1
- list 멤버 함수
append()
list
의 끝에 항목을 추가한다.
# <in>
a = [1, 2, 3, 4, 5]
a.append(10) # a 리스트 끝에 10을 추가
a
# <out>
[1, 2, 3, 4, 5, 10]
#<in>
a = [1, 2, 3, 4, 5]
b = [6, 7, 8, 9, 10]
a.append(b)
a
#<out>
[1, 2, 3, 4, 5, [6, 7, 8, 9, 10]]
extend()
list
를 연장 하는 개념- 대안으로
+=
이 있다.
#<in>
a = [1, 2, 3, 4, 5]
b = [6, 7, 8, 9, 10]
a.extend(b)
a
#<out>
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
#<in>
a = [1, 2, 3, 4, 5]
b = [6, 7, 8, 9, 10]
a += b
a
#<out>
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
insert()
list
의 원하는 위치에 추가 가능insert(index, ‘value’)
#<in>
a = [1, 3, 4, 5, 6]
a.insert(1,2)
a
#<out>
[1, 2, 3, 4, 5, 6]
remove()
- 값으로 항목 삭제
#<in>
a = [1, 3, 30, 30, 4, 5]
a.remove(30) # 가장 처음의 항목만을 삭제한다.
a
#<out>
[1, 3, 30, 4, 5]
pop()
- 지우고자 하는
item
을 반환 후, 삭제
- 지우고자 하는
#<in>
a = [1, 2, 3, 4, 5]
d = a.pop(2)
print(a) # a안에 2를 삭제하고
print(d) # 그 2를 d에 반환
#<out>
[1, 2, 4, 5]
3
index()
- 찾고자 하는 값의
index
반환
- 찾고자 하는 값의
#<in>
a = [2, 6, 7, 9, 10]
a.index(9) # a에서 9의 위치(인덱스)를 반환
#<out>
3
in
키워드list
내에 해당value
가 존재하는지 확인- value
in
list True
,False
중 한가지로 반환
#<in>
a = [1, 2, 3, 4, 5, 10]
b = 10
c = b in a # a 안에 b가 있는가? 에다한 boolean값 반환
print(c)
#<out>
True
list
정렬sort()
→list
자체를 내부적으로 정렬sorted()
→list
의 정렬된 복사본을 반환
#<in>
a = [9, 10, 7, 19, 1, 2, 20, 21, 7, 8]
a.sort() # 작은 순서대로 나열
a.sort(reverse = True) # 큰 순서대로 나열
a = [9, 10, 7, 19, 1, 2, 20, 21, 7, 8]
b = sorted(a) # a의 나열된 복사본을 b에 반환
b = sorted(a,reverse = True) # a의 큰 순서대로 나열된 복사본 b에 반환
print(a)
print(b)
#<out>
a = [9, 10, 7, 19, 1, 2, 20, 21, 7, 8]
b = [21, 20, 19, 10, 9, 8, 7, 7, 2, 1]