위의 동영상을 한국어로 번역해서 정리하려고 한다.
리스트는 순서가 있고, 변경 가능한 데이터 유형입니다. 집합과 달리 리스트는 중복 요소를 허용합니다. 데이터 순서를 보존하고 데이터를 반복하는 데 유용합니다. 리스트는 대괄호로 작성됩니다.
my_list = ["banana", "cherry", "apple"]
Python의 기본 내장 데이터 유형과 비교
- 리스트는 순서가 정해져있고 변경될 수 있는 모음입니다. 중복된 내용을 허용합니다.
- 튜플은 순서가 정해져 있고 불변하는 모음입니다. 중복된 내용을 허용합니다.
- 집합은 순서가 없고, 인덱싱되지 않은 모음입니다. 중복된 내용도 허용하지 않습니다.
- 딕셔너리는 순서가 없고, 변경 가능하며 인덱스된 모음입니다. 중복된 내용을 허용하지 않습니다.
- 문자열은 유니코드 코드 포인트의 변하지않는 시퀀스입니다.
리스트 만들기
리스트는 대괄호 또는 내장된 리스트 함수로 작성됩니다.
list_1 = ["banana", "cherry", "apple"]
print(list_1)
# 또는 리스트 함수를 사용하여 빈 리스트을 만들 수 있다.
list_2 = list()
print(list_2)
# 리스트는 서로 다른 데이터 유형을 허용
list_3 = [5, True, "apple"]
print(list_3)
# 리스트는 중복을 허용
list_4 = [0, 0, 1, 1]
print(list_4)
-----------------
['banana', 'cherry', 'apple']
[]
[5, True, 'apple']
[0, 0, 1, 1]
요소에 접근
인덱스 번호를 참조하여 리스트 항목에 접근합니다. 인덱스 번호는 0에서 시작합니다.
item = list_1[0]
print(item)
# 음의 인덱스도 사용할 수도 있습니다. 예: -1은 마지막 항목을 나타냅니다.
# -2부터 2번째 마지막 항목 그리고 계속 쭉
item = list_1[-1]
print(item)
------------------------
banana
apple
항목 바꾸기
인덱스 번호를 참조하고 새로운 값을 지정하면 됩니다.
# 목록은 만든 후에 변경할 수 있습니다.
list_1[2] = "lemon"
print(list_1)
---------------------
['banana', 'cherry', 'lemon']
유용한 방법들
모든 리스트 방법을 보려면 Python 설명서를 참조하십시오. https://docs.python.org/3/tutorial/datastructures.html
5. Data Structures — Python 3.10.5 documentation
5. Data Structures This chapter describes some things you’ve learned about already in more detail, and adds some new things as well. 5.1. More on Lists The list data type has some more methods. Here are all of the methods of list objects: list.append(x)
docs.python.org
my_list = ["banana", "cherry", "apple"]
# len() : 리스트의 요소 갯수를 가져옵니다.
print("Length:", len(my_list))
# append() : 리스트 끝에 요소를 추가합니다.
my_list.append("orange")
# insert() : 지정된 위치에 요소를 추가합니다.
my_list.insert(1, "blueberry")
print(my_list)
# pop() : 지정된 위치에서 항목을 제거하고 반환합니다. 기본값은 마지막 항목입니다.
item = my_list.pop()
print("Popped item: ", item)
# remove() : 리스트에서 항목을 제거합니다.
my_list.remove("cherry") # Value error if not in the list
print(my_list)
# clear() : 목록에서 모든 항목을 제거합니다.
my_list.clear()
print(my_list)
# reverse() : 항목을 반전시킵니다.
my_list = ["banana", "cherry", "apple"]
my_list.reverse()
print('Reversed: ', my_list)
# sort() : 항목을 오름차순으로 정렬합니다.
my_list.sort()
print('Sorted: ', my_list)
# 항목을 오름차순으로 정렬하려면 sorted()를 사용하여 새 목록을 가져오고 원본은 영향을 받지 않습니다.
# sorted()는 리스트뿐만 아니라 변경가능한 타입에서도 작동합니다.
my_list = ["banana", "cherry", "apple"]
new_list = sorted(my_list)
# 반복 요소를 사용하여 리스트를 만듭니다.
list_with_zeros = [0] * 5
print(list_with_zeros)
# 리스트 연결하기
list_concat = list_with_zeros + my_list
print(list_concat)
# 문자열을 리스트로 변환합니다.
string_to_list = list('Hello')
print(string_to_list)
-----------------------------
Length: 3
['banana', 'blueberry', 'cherry', 'apple', 'orange']
Popped item: orange
['banana', 'blueberry', 'apple']
[]
Reversed: ['apple', 'cherry', 'banana']
Sorted: ['apple', 'banana', 'cherry']
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 'banana', 'cherry', 'apple']
['H', 'e', 'l', 'l', 'o']
리스트를 복사
참조를 복사할 때 주의하십시오.
list_org = ["banana", "cherry", "apple"]
# 이것은 단지 리스트에 대한 참조를 복사하기 때문에 주의하세요.
list_copy = list_org
# 이제 복사본을 수정하면 원본에도 영향을 미칩니다.
list_copy.append(True)
print(list_copy)
print(list_org)
# 리스트를 실제로 복사하려면 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', True]
['banana', 'cherry', 'apple', True]
['banana', 'cherry', 'apple']
반복
# for in loop을 사용하여 리스트를 내용을 출력
for i in list_1:
print(i)
--------------------------
banana
cherry
lemon
항목이 리스트에 존재하는지 확인
if "banana" in list_1:
print("yes")
else:
print("no")
---------------------------
yes
슬라이싱
문자열과 마찬가지로 콜론(:)을 사용하여 리스트의 요소 부분에 접근합니다.
# a[start:stop:step], 기본 스텝은 1
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
b = a[1:3] # 마지막 인덱스는 포함되지 않습니다.
print(b)
b = a[2:] # 끝까지
print(b)
b = a[:3] # 처음부터
print(b)
a[0:3] = [0] # 하위 부분 변경,여기서 변경가능해야한다
print(a)
b = a[::2] # 처음부터 끝까지 2스텝씩 건너뛰기
print(b)
a = a[::-1] # 음의 단계로 리스트를 반전
print(a)
b = a[:] # 슬라이스로 리스트를 복사
print(b)
-------------------------------------
[2, 3]
[3, 4, 5, 6, 7, 8, 9, 10]
[1, 2, 3]
[0, 4, 5, 6, 7, 8, 9, 10]
[0, 5, 7, 9]
[10, 9, 8, 7, 6, 5, 4, 0]
[10, 9, 8, 7, 6, 5, 4, 0]
리스트 comprehension
기존 리스트에서 새 리스트를 만드는 우아하고 빠른 방법입니다.
리스트 comprehension는 식 다음에 대괄호 안의 for 문으로 구성됩니다.
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]
'프로그래밍 > python' 카테고리의 다른 글
디스코드 출책 봇 (0) | 2022.06.21 |
---|---|
OOP 5탄(Getter, Setter, Properties) (0) | 2022.05.15 |
OOP 4탄(Encapsulation, abstraction) (0) | 2022.05.14 |
OOP 3탄 (Inheritance, polymorphism) (0) | 2022.05.13 |
OOP 2탄(Functions In Classes) (0) | 2022.05.12 |