리스트는 파이썬에서 제공하는 컬렉션 데이터 타입 입니다.
# 리스트는 대괄호를 이용하여 선언하거나
list_1 = ["banana", "cherry", "apple"]
print(list_1)
['banana', 'cherry', 'apple']
# 리스트 함수를 이용해 선언 합니다.
list_2 = list()
print(list_2)
[]
# 리스트는 서로 다른 데이터 타입을
# 요소로 가질 수 있습니다.
list_3 = [5, True, "apple"]
print(list_3)
[5, True, 'apple']
# 리스트는 중복 요소를 허용합니다.
list_4 = [0, 0, 1, 1]
print(list_4)
[0, 0, 1, 1]
리스트의 요소에는 인덱스 넘버를 이용해 접근합니다.
주의할 점은 파이썬에서 인덱스 넘버는 '0'부터 시작합니다.
list_1 = ["banana", "cherry", "apple"]
item = list_1[0]
print(item)
banana
# 음수 인덱스 넘버를 이용하여 접근도 가능합니다.
# 인덱스 넘버가 '-1'일 경우 마지막 요소를 가리킵니다.
item = list_1[-1]
print(item)
apple
인덱스 넘버를 이용하여 새로운 값을 입력할 수 있습니다.
# 리스트는 생성된 뒤에 인덱스 번호를 이용해 변경할 수 있습니다.
list_1 = ["banana", "cherry", "apple"]
list_1[2] = "lemon"
print(list_1)
['banana', 'cherry', 'lemon']
my_list = ["banana", "cherry", "apple"]
# len() : 리스트 요소의 갯수를 리턴한다.
print("Length:", len(my_list))
Length: 3
# append() : 리스트의 끝에 새로운 요소를 삽입한다.
my_list.append("orange")
print(my_list)
['banana', 'cherry', 'apple', 'orange']
# insert() : 지정한 위치에 새로운 요소를 삽입한다.
my_list.insert(1, "blueberry")
print(my_list)
['banana', 'blueberry', 'cherry', 'apple', 'orange']
# pop() : 지정된 위치의 요소를 리턴하고 삭제한다.
# 위치를 지정하지 않으면 맨 뒤의 요소가 지정된다.
item = my_list.pop()
print("Popped item: ", item)
print(my_list)
Popped item: orange
['banana', 'blueberry', 'cherry', 'apple']
# remove() : 리스트의 요소를 삭제한다.
# 지정된 요소가 리스트에 존재하지 않으면 에러 발생!
my_list.remove("cherry")
print(my_list)
['banana', 'blueberry', 'apple']
# clear() : 리스트에서 모든 요소를 제거한다.
my_list.clear()
print(my_list)
[]
# reverse() : 모든 항목을 뒤집는다.
my_list = ["banana", "cherry", "apple"]
my_list.reverse()
print('Reversed: ', my_list)
Reversed: ['apple', 'cherry', 'banana']
# sort() : 오름차 순으로 항목 정렬
my_list.sort()
print('Sorted: ', my_list)
Sorted: ['apple', 'banana', 'cherry']
# sorted() 함수를 사용해 기존 함수를 변경시키지 않고
새로운 함수를 생성할 수 있다.
my_list = ["banana", "cherry", "apple"]
new_list = sorted(my_list)
# 동일한 요소를 이용해서 리스트 생성
list_with_zeros = [0] * 5
print(list_with_zeros)
[0, 0, 0, 0, 0]
# 리스트 병합
list_concat = list_with_zeros + my_list
print(list_concat)
[0, 0, 0, 0, 0, 'banana', 'cherry', 'apple']
# 문자열을 리스트로 변경
string_to_list = list('Hello')
print(string_to_list)
['H', 'e', 'l', 'l', 'o']
리스트를 복사할 때 주의해야 할 것들
list_org = ["banana", "cherry", "apple"]
# 다음 구문은 단지 List에 대한 참조만을 복사 하는 것임.
# 둘 다 같은 값을 가리키는 주소기 때문에 복사본을 수정하면 원본도 바뀜.
list_copy = list_org
# append(True) 구문 실행 후 사본 리스트가 변경되면 원본 리스트도 변경됨.
list_copy.append(True)
print(list_copy)
print(list_org)
['banana', 'cherry', 'apple', True]
['banana', 'cherry', 'apple', True]
# 목록을 실제로 복사하려면 copy() 또는 list(x) 사용합니다.
# 목록을 복사하여 새로운 배열 생김.(참조가 아니라 또 다른 리스트 생성)
# 슬리이싱 기능을 사용한 리스트 복사 가능: list_copy = list_org[:]
list_org = ["banana", "cherry", "apple"]
list_copy = list_org.copy()
# list_copy = list(list_org)
# list_copy = list_org[:]
# 이제 사본을 수정해도 원본에 영향을주지 않습니다.
# (새로 생긴 배열이기 때문에...)
list_copy.append(True)
print(list_copy)
print(list_org)
['banana', 'cherry', 'apple', True]
['banana', 'cherry', 'apple']
# for 반복문을 사용하여 목록 반복
list_org = ["banana", "cherry", "apple"]
for i in list_1:
print(i)
banana
cherry
lemon
list_1 = ["banana", "cherry", "apple"]
if "banana" in list_1:
print("yes")
else:
print("no")
yes
# a[시작:끝:스텝], 기본 스텝은 1
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
b = a[1:3]
print(b)
[2, 3]
b = a[2:] # 인덱스값의 시작은 0->1, 1->2, 2->3.
print(b)
[3, 4, 5, 6, 7, 8, 9, 10]
b = a[:3] # 인덱스값의 시작 0->1, 1->2, 2->3.
print(b)
[1, 2, 3]
a[0:3] = [0] # 인덱스 0~3까지 0으로 변경.
print(a)
[0, 4, 5, 6, 7, 8, 9, 10]
b = a[::2] # 두 번째 항목마다 시작
print(b)
[0, 5, 7, 9]
a = a[::-1] # 음수 스탭로 목록을 반전:
print(a)
[10, 9, 8, 7, 6, 5, 4, 0]
b = a[:] # 슬라이싱을 이용해 List 복사
print(b)
[10, 9, 8, 7, 6, 5, 4, 0]
a = [1, 2, 3, 4, 5, 6, 7, 8]
b = [i * i for i in a] # 각 요소를 제곱해서 생성
print(b)
[1, 4, 9, 16, 25, 36, 49, 64]
a = [[1, 2], [3, 4]]
print(a)
print(a[0])
[[1, 2], [3, 4]]
[1, 2]
파이썬 - 딕셔너리(Dictionary) 자료형 (0) | 2021.02.10 |
---|---|
파이썬 - 튜플(tuple) 자료형 (0) | 2021.02.09 |
파이썬 - 문자열 포맷별 출력 (0) | 2020.12.30 |
파이썬 - 연산자 우선순위 (Operators Precedence) (0) | 2020.08.27 |
파이썬 - 숫자형 자료형 (0) | 2020.08.24 |
댓글 영역