튜플 요솟값을 변경하려 할 때
l = [1, 2 ,3]
t = (1, 2, 3)
print(l[0], t[0])
l[0] = 10
print(l)
t[0] = 10
print(t)
>>> 1 1
>>> [10, 2, 3]
Traceback (most recent call last):
File "test.py", line 10, in <module>
t[0] = 10
TypeError: 'tuple' object does not support item assignment
튜플 요솟값을 삭제하려 할 때
t1 = (1, 2, 'a', 'b')
del t1[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object doesn't support item deletion
인덱싱과 슬라이싱
# 튜플의 인덱싱
t1 = (1, 2, 'a', 'b')
>>> t1[0]
1
>>> t1[3]
'b'
# 튜플의 슬라이싱
t1 = (1, 2, 'a', 'b')
>>> t1[1:]
(2, 'a', 'b')
더하기, 곱하기
# 튜플의 더하기
t1 = (1, 2, 'a', 'b')
t2 = (3, 4)
>>> t1 + t2
(1, 2, 'a', 'b', 3, 4)
# 튜플의 곱하기
>>> t2 * 3
(3, 4, 3, 4, 3, 4)
주의사항
튜플 값 추가하기
t1 = (1, 2, 'a', 'b')
t1.append(2)
>>> Traceback (most recent call last):
File "c:\Users\c\Desktop\test.py", line 2, in <module>
t1.append(2)
AttributeError: 'tuple' object has no attribute 'append'
원하는 위치에 값 추가
t1 = (1, 2, 'a', 'b')
t1.insert(0, '0번째')
>>> Traceback (most recent call last):
File "c:\Users\c\Desktop\test.py", line 2, in <module>
t1.insert(0, '0번째')
AttributeError: 'tuple' object has no attribute 'insert'
sort, reverse, index, count
t1 = (1, 2, 'a', 'b', 1)
# sort()
t1.sort()
>>> Traceback (most recent call last):
File "c:\Users\c\Desktop\test.py", line 2, in <module>
t1.sort()
AttributeError: 'tuple' object has no attribute 'sort'
# reverse()
t1.reverse()
>>> Traceback (most recent call last):
File "c:\Users\c\Desktop\test.py", line 2, in <module>
t1.sort()
AttributeError: 'tuple' object has no attribute 'reverse'
# index()
t1.index('a')
>>> 2
# count()
t1.count(1)
>>> 2
변환
t1 = (1, 2, 'a', 'b', 1)
# tuple -> list
list((t1))
>>> [1, 2, 'a', 'b', 1]
# list -> tuple
tuple((t1))
>>> (1, 2, 'a', 'b', 1)
결론
List는 순서가 있는 Collection으로 Ordered collection으로 불리우며,
Set은 순서를 보장하지 않은 Collection으로 Unordered collection으로 불리운다.
set 생성 방법
set = {12, 23, 31} # 변수를 set으로 지정할 때
set2 = set([12, 23, 31]) # set() 함수 사용
중복된 값 제거
set1 = set([12, 23, 31, 12]) # set() 함수 사용
>>> set1
{12, 31, 23}
set2 = {12, 23, 31, 12}
>>> set2
{12, 31, 23}
요소 추가 add()
my_set = {10, 20, 30}
my_set.add(40)
>>> my_set
{10, 20, 30, 40}
요소 삭제 remove()
my_set = {10, 20, 30}
my_set.remove(10)
>>> my_set
{20, 30}
LookUp in 조건문
my_set = {10, 20, 30}
if 20 in my_set:
print("20 여기 있어!")
# output
20 여기 있어!
my_set = {10, 20, 30}
if 40 not in my_set:
print("여기 40은 없어")
# output
40은 여기 없어
Intersection (교집합)
set1 = {3, 4, 9, 1, 4, 2, 5, 6, 7, 8, 10}
set2 = {5, 6, 7, 8, 9, 10}
>>> set1 & set2
{5, 6, 7, 8, 9, 10}
Union (합집합)
set1 = {3, 4, 9, 1, 4, 2, 5, 6, 7, 8, 10}
set2 = {5, 6, 7, 8, 9, 10}
# '|' 키워드 사용시
>>> set1 | set2
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
# 'union' 함수 사용시
>>> set1.union(set2)
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
dict 생성 방법
my_dict = { 1 : "one"}
>>> my_dict
{ 1 : "one" }
my_dict = {}
my_dict[1] = "one"
>>> my_dict
{ 1 : "one" }
my_dict = dict()
my_dict[1] = "one"
>>> my_dict
{ 1 : "one" }
key 값 중복
my_dict = { 1 : "one", 1 : "two"}
>>> my_dict
{ 1 : "two" }
요소 추가하기
my_dict["책"] = "점프 투 파이썬"
>>> my_dict
{"고양이" : "코리안숏헤어", "노트북" : "맥북", "핸드폰" : "아이폰", "책" : "점프 투 파이선"}
요소 수정하기
my_dict = {"고양이" : "코리안숏헤어", "노트북" : "맥북", "핸드폰" : "아이폰", "책" : "점프 투 파이선"}
my_dict["핸드폰"] = "아이폰12proMax"
>>> my_dict
{"고양이": "코리안숏헤어", "노트북": "맥북", "핸드폰": "아이폰12proMax"}
요소 삭제하기
my_dict = {"고양이" : "코리안숏헤어", "노트북" : "맥북", "핸드폰" : "아이폰"}
del my_dict["노트북"]
>>> my_dict
{'고양이': '코리안숏헤어', '핸드폰': '아이폰'}