[Python] 파이썬 자료형 : 리스트 (List) 생성 및 기본 사용법[R, Python 분석과 프로그래밍의 친구 (by R Friend)]
List
자료형은 저장되는 데이터가 서로 다른 형태의 데이터여도 저장되며, 변경 가능하다는 점 때문에 데이터 분석에서 많이 사용된다.
튜플은 자료 갱신이 안된다.
list_1 = ['abc', 123, 3.14, ['edf', 456], ('gh', 'st')]
print(list_1)
# ['abc', 123, 3.14, ['edf', 456], ('gh', 'st')]
del list_1
print(list_1)
'''
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'list_1' is not defined
'''
리스트의 기본 연산자
에는 리스트 길이는 재는 len()
함수, 리스트를 합치는 +
연산자, 리스트 값을 반복하는 *
연산자, 포함 여부 값(True, False)을 반환하는 in
연산자, 함수를 반복하는데 사용하는 for
loop 문 등이 있다.
설명 | Python | 결과 |
---|---|---|
길이 | len([1, 2, 3]) | 3 |
리스트 합치기 | [1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] |
반복 | [1, 2, 3] * 3 | [1, 2, 3, 1, 2, 3, 1, 2, 3] |
포함 여부 | 1 in [1, 2, 3] 4 in [1, 2, 3] | True False |
리스트 요소 반복 | for i in [1, 2, 3]: print(i) | 1 2 3 |
함수 | 설명 |
---|---|
len(list) | 리스트 길이 |
max(list) | 리스트 내 최대 요소 |
min(list) | 리스트 내 최소 요소 |
list(seq) | 리스트로 변환 |
list_a = [1, 2, 3, 4, 5]
list_b = ['g', 'i', 'l', 'l', 'o', 'g']
print(len(list_a))
# 5
print(len(list_b))
# 6
list_a = [1, 2, 3, 4, 5]
list_b = ['g', 'i', 'l', 'l', 'o', 'g']
print(max(list_a))
# 5
print(max(list_b))
# o
list_a = [1, 2, 3, 4, 5]
list_b = ['g', 'i', 'l', 'l', 'o', 'g']
print(min(list_a))
# 1
print(min(list_b))
# g
tuple_a = ('gil', 'log')
print(type(tuple_a))
#<class 'tuple'>
list_tuple = list(tuple_a)
print(type(list_tuple))
#<class 'list'>
list_a = [1, 2, 3, 4, 5]
list_a.append(6)
print(list_a)
# [1, 2, 3, 4, 5, 6]
list_a = [1, 2, 3, 4, 5]
list_b = ['g', 'i', 'l', 'l', 'o', 'g']
list_a.extend(list_b)
print(list_a)
# [1, 2, 3, 4, 5, 6, 'g', 'i', 'l', 'l', 'o', 'g']
list_a = [1, 2, 3, 4, 5]
list_b = ['g', 'i', 'l', 'l', 'o', 'g']
print(list_a.count(5))
# 1
print(list_b.count('l'))
# 2
list 안에 없는 obj를 인자로 넣고 실행 시키면 ValueError
가 발생한다.
list_a = [1, 2, 3, 4, 5]
list_b = ['g', 'i', 'l', 'l', 'o', 'g']
print(list_a.index(4))
# 3
print(list_b.index('l'))
# 2
list_a = [1, 2, 3, 4, 5]
list_a.insert(3, 45)
print(list_a)
# [1, 2, 3, 45, 4, 5]
인자로 index 위치 정수를 입력하면 해당 index의 요소를 제거 후 반환 한다.
list_a = [1, 2, 3, 4, 5]
print(list_a.pop())
# 5
print(list_a)
# [1, 2, 3, 4]
print(list_a.pop(2))
# 3
print(list_a)
# [1, 2, 4]
list_b = ['g', 'i', 'l', 'l', 'o', 'g']
list_b.remove('l')
# ['g', 'i', 'l', 'o', 'g']
list_b = ['g', 'i', 'l', 'l', 'o', 'g']
list_b.reverse()
print(list_b)
# ['g', 'o', 'l', 'l', 'i', 'g']
숫자와 문자가 섞여있는 list에서는 sort()를 실행 할 경우 TypeError
가 발생한다.
한 종류로 이루어진 list에서만 실행 가능한 method 이다.
내림차순으로 정렬하고 싶다면 sort(reverse=True)
로 인자에 reverse=True
를 입력해주면 된다.
list_a = [1, 2, 3, 4, 5]
list_b = ['g', 'i', 'l', 'l', 'o', 'g']
# 파이썬 리스트 메소드
list_b.sort()
print(list_b)
# ['g', 'g', 'i', 'l', 'l', 'o']
list_a.sort(reverse=True)
print(list_a)
#[5, 4, 3, 2, 1]