리스트와 딕셔너리
공통점
차이점
- 리스트(list) : 순서로 이루어진 자료의 모임
- 딕셔너리(dictionary) : key:value 의 쌍으로 이루어진 자료의 모임
리스트
리스트 기초
a = [1, 5, 2]
b = [3, "a", 6, 1, false]
c = []
d = list()
e = [1, 2, 4, [2, 3, 4]]
- 리스트의 길이(요소의 개수) 구하기 : len()
a = [1, 5, 2]
print(len(a))
b = [1, 3, [2, 0], 1]
print(len(b))
- 리스트의 특정 요소의 개수 구하기 : .count()
cook = ["피자", "김밥", "만두", "양념치킨", "족발", "피자", "김치만두", "쫄면", "소시지", "라면", "팥빙수", "김치전"]
count_cook = cook.count("피자")
print(count_cook)
a = [1, 3, 2, 4]
print(a[3])
print(a[1:3])
print(a[-1])
a = [1, 2, [2, 3], 0]
print(a[2])
print(a[2][0])
리스트 심화
a = [1, 2, 3]
a.append(5)
print(a)
a.append([1, 2])
print(a)
a += [2, 7]
print(a)
- 원소 추가 : .insert(입력해줄index, 값)
movie_rank = ['닥터 스트레인지', '스플릿', '럭키', '배트맨']
movie_rank.insert(1, "슈퍼맨")
print(movie_rank)
- del 키워드
movie_rank = ['닥터 스트레인지', '슈퍼맨', '스플릿', '럭키', '배트맨']
del movie_rank[3]
print(movie_rank)
- list의 .remove() 메소드
movie_rank = ['닥터 스트레인지', '슈퍼맨', '스플릿', '럭키', '배트맨']
movie_rank.remove('럭키')
print(movie_rank)
a = [2, 5, 3]
a.sort()
print(a)
a.sort(reverse=True)
print(a)
- 리스트 안에 원하는 요소가 있는지 확인하는 법(in)
a = [2, 1, 4, "2", 6]
print(1 in a)
print("1" in a)
print(0 not in a)
- 리스트를 문자열로 바꾸기 : .join() 메소드
- 구분자.join(list)
interest = ['삼성전자', 'LG전자', 'Naver', 'SK하이닉스', '미래에셋대우']
text = " ".join(interest)
print(text)
딕셔너리
딕셔너리 기초
- 키(key)와 밸류(value)의 쌍으로 이루어진 자료형
ex) 영한사전에서 영단어 검색하면 한국어 뜻이 나오는 것처럼 쌍으로 이루어짐
person = {"name":"Bob", "age": 21}
print(person["name"])
a = {"one":1, "two":2}
a = {}
a = dict()
person = {"name":"Bob", "age": 21}
print(person[0])
- 딕셔너리의 값을 업데이트하거나 새로운 쌍의 자료를 넣기
person = {"name":"Bob", "age": 21}
person["name"] = "Robert"
print(person)
person["height"] = 174.8
print(person)
del person["name"]
print(person)
person = {"name":"Alice", "age": 16, "scores": {"math": 81, "science": 92, "Korean": 84}}
print(person["scores"])
print(person["scores"]["science"])
딕셔너리 심화
- 딕셔너리 안에 해당 키가 존재하는지 확인하는 법(in)
person = {"name":"Bob", "age": 21}
print("name" in person)
print("email" in person)
print("phone" not in person)
리스트와 딕셔너리의 조합
people = [{'name': 'bob', 'age': 20}, {'name': 'carry', 'age': 38}]
person = {'name': 'john', 'age': 7}
people.append(person)
딕셔너리 메소드
- key 값으로만 구성된 리스트 생성하기 : .keys() 메소드
icecream = {
'탱크보이': 1200,
'폴라포': 1200,
'빵빠레': 1800,
'월드콘': 1500,
'메로나': 1000
}
list = list(icecream.keys())
print(list)
- value 값으로만 구성된 리스트 생성하기 : .values() 메소드
icecream = {
'탱크보이': 1200,
'폴라포': 1200,
'빵빠레': 1800,
'월드콘': 1500,
'메로나': 1000
}
value_icecream = icecream.values()
print(list(value_icecream))
- 딕셔너리 + 딕셔너리 합치기 : .update() 메소드
icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
new_product = {'팥빙수':2700, '아맛나':1000}
icecream.update(new_product)
print(icecream)
- 두 개의 튜플 또는 리스트를 하나의 딕셔너리로 합치기 : zip(key, value), dict((key1,value1), (key2, value2))
keys = ("apple", "pear", "peach")
vals = (300, 250, 400)
fruits = dict(zip(keys, vals))
print(fruits)