append 메서드
insert 메서드
del
게임을 만들 때 위치정보(X좌표, Y좌표) 등은 튜플로 함께 관리하는 것이 유리함
언팩 : 하나의 튜플을 여러개의 변수에 대입하는 것
pos = (56,74)
pos_1, pos_2 = pos
print(pos_1) # 56
print(pos_2) # 74
언팩을 응용하여 변수의 값 바꿀 수 있음
x = 5
y = 3
(x,y) = (y,x)
print(x) # 3
print(y) # 5
# 파이썬에서 = 는 우변의 값을 좌변에 대입하는 것 이므로
리스트나 튜플 자신을 요소로써 지정 가능
리스트 안에 튜플/ 리스트를 넣을 수 있고
튜플 안에 튜플/ 리스트를 넣을 수 있음
a_list=[1,2,3,4]
b_list=[6,7,8]
a_list.append(b_list)
print(a_list) # [1, 2, 3, 4, [6, 7, 8]]
a_list=[1,2,3,4]
b_list=[6,7,8]
a_tuple=(9,10)
b_tuple=(11,12)
data_1 = [a_list,b_list]
data_2 = (a_list,b_list)
data_3 = [a_tuple,b_tuple]
data_4 = (a_tuple,b_tuple)
print(data_1) # [[1, 2, 3, 4], [6, 7, 8]] / 리스트의 리스트
print(data_2) # ([1, 2, 3, 4], [6, 7, 8]) / 튜플의 리스트
print(data_3) # [(9, 10), (11, 12)] / 리스트의 튜플
print(data_4) # ((9, 10), (11, 12)) / 튜플의 튜플
행마다 리스트를 작성 --> 그러한 행을 또 리스트로 합하기
아래의 그림과 같이 표현 가능
data에 접근시 list[행번호][열번호]
data = [[0,0,1],[0,1,0],[1,0,0]]
print(data) # [[0, 0, 1], [0, 1, 0], [1, 0, 0]]
data[2][2] = 2
print(data) # [[0, 0, 1], [0, 1, 0], [1, 0, 2]]
리스트나 튜플에 포함되는 요소 수를 반환
data = [1,2,3]
print(len(data)) # 3
의도적으로 리스트를 복제할 때 사용하는 메서드
튜플에는 copy 메소드가 없음
data = [1,2,3]
b=data.copy()
print(b) # [1, 2, 3]
어떠한 값이 리스트나 튜플에 포함되었는지 확인할 때
값이 포함되어 있으면 True
포함되어 있지 않으면 False
data =(1,2,3)
print(2 in data) # True
print(5 in data) # False
데이터가 몇 번째에 저장되어 있는지 확인할 때 사용하는 메서드
0부터 시작 (첫번째 데이터 : 0)
copy 메서드와 다르게 index 메서드는 리스트/ 튜플 모두 사용 가능
data =[1,2,3]
data2 = (1,2,3)
print(data.index(1)) # 0
print(data2.index(2)) # 1
리스트를 정렬하기 위한 방법
수치의 경우 오름차순, 문자의 경우 알파벳 순으로 정렬됨
data =[1,2,3,9,5,6]
data2 = ('apple','carrot','banana','tomato','melon')
print(sorted(data)) # [1, 2, 3, 5, 6, 9]
print(sorted(data2)) # ['apple', 'banana', 'carrot', 'melon', 'tomato']
# 튜플에서 sorted 함수를 사용하면 정렬 후 리스트로 반환
print(data) # ['apple', 'banana', 'carrot', 'melon', 'tomato']
print(data2) # ('apple', 'carrot', 'banana', 'tomato', 'melon')
# sorted 함수는 원래 리스트의 정렬에 영향을 끼치지않음
data =[1,2,3,9,5,6]
print(data) # [1, 2, 3, 9, 5, 6]
data.sort()
print(data) # [1, 2, 3, 5, 6, 9]
print() : 인수로 주어진 정보를 출력
hello = "I am %s. I am %d years old"
print(hello%('2cong',26)) # I am 2cong. I am 26 years old
hello = "I am {}. I am {} years old"
print(hello.format('2cong',26)) # I am 2cong. I am 26 years old
다음과 같이 이용하고 { }에 번호를 기재하여 순서를 설정 할 수 있음 (번호는 0부터 시작)
hello = "I am {1}. I am {0} years old"
print(hello.format('2cong',26)) # I am 26. I am 2cong years old
#을 이용하여 주석을 남길 수 있음
한 행의 길이는 어느 정도로 맞추는 것이 좋음
그러나 줄이 길어진다면 " \ " 을 삽입하여 행 줄바꿈 가능