자료구조 구분
list
dictionary
tuple
set
list | dictionary | turple | set | |
---|---|---|---|---|
설명 | 순서대로 정리된 항목들을 담는 자료구조 | key와 value로 구성되는 자료구조 | 리스트와 비슷하지만 수정이나 삭제가 불가능하여 비정적인 객체를 담는데 사용 | 중복을 허용하지 않으며, 순서가 없는 자료구조 |
자료구조 변환 | mutable (가변성) | mutable (가변성) | immutable (불변성) | mutable (가변성) |
상황 | 데이터수정, 순서가 필요한경우 | 상황에 따라 | 데이터의 읽기만 필요한경우 | 중복된값을 불허하는경우, 순서가 불필요한 경우 |
#['Tom', 'George', 'Dan']
subway =["Tom","George","Dan"]
print(subway.index("George"))
#['Tom', 'George', 'Dan', 'Haha']
subway.append("Haha")
print(subway)
#['Tom', 'George', 'Dan', 'Haha']
subway.insert(1, "Joe")
print(subway)
print(subway.pop())
print(subway)
print(subway.count("Tom"))
num_list = [5,3,1,2,4,1]
num_list.sort() #.reverse() .clear()
print(num_list)
mix_list=["Tom", 20, True]
num_list.extend(mix_list)
print(num_list)
출력결과
1
['Tom', 'George', 'Dan', 'Haha']
['Tom', 'Joe', 'George', 'Dan', 'Haha']
Haha
['Tom', 'Joe', 'George', 'Dan']
1
[1, 1, 2, 3, 4, 5]
[1, 1, 2, 3, 4, 5, 'Tom', 20, True]
cabinet = {3:"Tombson", 100:"Harry"}
print(cabinet[3])
print(cabinet.get(100))
#print(cabinet[5]) #Error, there is not exist key about "5"
print(cabinet.get(5)) #not Error, result "None"
print(cabinet.get(5,"there is not key")) #not Error, result "there is not key"
print(3 in cabinet) #True
print(5 in cabinet) #False
del cabinet[3]
print(cabinet)
print(cabinet.keys()) #cabinet.calues() cabinet.items()
출력결과
Tombson
Harry
None
there is not key
True
False
{100: 'Harry'}
dict_keys([100])
# the same list, but cant revise, more fast than list
menu = ("donnkatsu","cheese katsu")
print(menu[0])
#menu.add("fish katsu") #cant use add
출력결과
donnkatsu
# cant duplicate, order
my_set= {1,2,3,3,3}
print(my_set)
java ={"Tom","Marry"}
python = set(["Tom","Cheese"])
#can java also python
print(java & python)
print(java.intersection(python))
#can java or python
print(java | python)
print(java.union(python))
#can java but cant python
print(java - python)
print(java.difference(python))
#can java.add("") or java.remove("")
출력결과
{1, 2, 3}
{'Tom'}
{'Tom'}
{'Marry', 'Tom', 'Cheese'}
{'Marry', 'Tom', 'Cheese'}
{'Marry'}
{'Marry'}