오늘은 딕셔너리,,, 전공별AI에서 하던 게 이거였구나를 이제야 깨닫는중,,, 열심히 할 걸~ 후회하기에는 늦었다. 지금부터라도 열심히 해야지 아쟈쟈

081 ~ 090
.answer {margin-top: 10px;margin-bottom: 50px;padding-top: 10px;border-top: 3px solid LightGray;bo…
wikidocs.net
# 2024 02 22 THU
# 081
# star experession을 사용하여 좌측 8개 값을 valid_score1 변수에 바인딩
scores1 = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
*valid_score1, a, b = scores1
print(valid_score1)
# 082
# star experession을 사용하여 우측 8개 값을 valid_score2 변수에 바인딩
c, d, *valid_score2 = scores1
print(valid_score2)
# 083
# star experession을 사용하여 가운데 8개 값을 valid_score3 변수에 바인딩
e, *valid_score3, f = scores1
print(valid_score3)
# 084
# temp 이름의 비어있는 딕셔너리 생성
temp = {}
print(type(temp))
# 085
# 아이스크림 이름과 희망 가격을 딕셔너리로 구성
icecream = {'메로나': 1000, '폴라포': 1200, '빵빠레': 1800}
print(icecream)
# 086
# 아이스크림 정보 추가
# icecream = {'죠스바': 1200, '월드콘': 1500}
icecream['죠스바'] = 1200
icecream['월드콘'] = 1500
print(icecream)
# 087
# 메로나 가격 출력
ice = {'메로나': 1000,
'폴로포': 1200,
'빵빠레': 1800,
'죠스바': 1200,
'월드콘': 1500}
print("메로나 가격: %d" % ice['메로나'])
# 088
# 메로나 가격 수정
ice['메로나'] = 1300
print("메로나 가격: %d" % ice['메로나'])
# 089
# 메로나 삭제
del ice['메로나']
print(ice)
# 090
# 오류 발생 원인
# icecream = {'폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
# icecream['누가바']
# 키 정보에 '누가바'가 없기 때문에 값을 불러올 수 없다.

내가 몰랐던 문법
1. 딕셔너리
파이썬의 딕셔너리는 키와 값의 '쌍'으로 이루어진 자료형이다. 딕셔너리는 중괄호 '{ }'를 사용하여 정의되며, 각 쌍은 쉼표로 구분된다. 각 쌍은 키와 값을 콜론':'으로 구분하여 표기한다.
2. 딕셔너리 키:값 수정
딕셔너리의 키는 숫자, 문자열, 튜플과 같은 변경 불가능한 자료형이어야 한다. 리스트와 같은 변경 가능한 자료형은 딕셔너리 키로 사용할 수 없다. 반면 딕셔너리의 값은 수정 가능하다. 특정 키의 값에 접근해 해당 값을 새로운 값으로 대체할 수 있다. 딕셔너리의 값은 모든 유형의 객체일 수 있다.
3. 딕셔너리 키:값 추가
딕셔너리에 새로운 키:값 쌍을 추가하려면 해당 키를 사용하여 값을 할당하면 된다. 해당 키가 딕셔너리에 존재하지 않았다면 새로운 키:값이 추가된다.
my_dict = {'name': 'John', 'age': 25}
my_dict['city'] = 'New York' # 새로운 키-값 쌍 추가
print(my_dict) # {'name': 'John', 'age': 25, 'city': 'New York'}
4. 딕셔너리 키:값 삭제
딕셔너리에서 특정 키:값 쌍을 삭제하려면 'del' 키워드를 사용해 해당 키를 지정하면 된다.
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
del my_dict['age'] # 키-값 쌍 삭제
print(my_dict) # {'name': 'John', 'city': 'New York'}
위와 같이 'del' 키워드를 사용하면 'age' 키와 그에 해당하는 값이 딕셔너리에서 삭제된다.
또는'pop()' 메서드를 사용하여 특정 키에 해당하는 값을 반환하고 삭제할 수도 있다.
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
age_value = my_dict.pop('age') # 'age' 키에 해당하는 값 반환 및 삭제
print(age_value) # 25
print(my_dict) # {'name': 'John', 'city': 'New York'}
딕셔너리에서는 키:값 쌍이 삭제되었지만 age_value라는 변수에 값을 반환해두어 나중에도 삭제된 값을 사용할 수 있다. 반환된 값을 변수에 저장하지 않고 사용할 수는 있지만 삭제된 값에 대한 접근은 불가능하다.
5. 별 표현식
별(*) 표현식은 파이썬에서 사용되는 특별한 문법이다.
1) 언팩킹
별 표현식은 주로 언팩킹에서 사용된다. 튜플이나 리스트, 딕셔너리 등의 이터러블 객체에서 값을 언팩킹할 때 사용된다.
# 튜플 언패킹
a, *b, c = (1, 2, 3, 4, 5)
print(a) # 1
print(b) # [2, 3, 4]
print(c) # 5
# 리스트 언패킹
x, *y = [1, 2, 3, 4, 5]
print(x) # 1
print(y) # [2, 3, 4, 5]
# 딕셔너리 언패킹
my_dict = {'a': 1, 'b': 2, 'c': 3}
a, *b = my_dict.items()
print(a) # ('a', 1)
print(b) # [('b', 2), ('c', 3)]
2) 가변 인자 처리
함수 정의 시 가변 개수의 인자를 받을 대 사용된다. 가변 인자를 받는 매개변수 이름 앞에 별을 붙이면 임의의 개수의 인자를 받을 수 있다.
def my_function(*args):
for arg in args:
print(arg)
my_function(1, 2, 3) # 1\n2\n3 출력
3) 시퀀스 객체의 일부 추출
리스트나 튜플에서 특정 위치의 원소뿐만 아니라 나머지 원소들을 추출할 때 사용된다.
4) 할당
리스트나 튜플 등의 이터러블 객체를 변수에 할당할 때 사용된다. 변수의 개수가 이터러블 객체의 길이보다 적을 수 있지만 별 표현식을 사용하면 이터러블 객체의 일부만을 변수에 할당할 수 있다.
first, *rest = [1, 2, 3, 4, 5]
print(first) # 1
print(rest) # [2, 3, 4, 5]
6. 할당과 언팩킹
할당은 변수에 값을 저장하는 과정을 의미한다. 값을 변수에 할당하면 변수는 해당 값을 가리키게 된다. '단일' 값을 변수에 할당하는 것이 일반적이다. 언팩킹은 이터러블 객체의 요소들을 변수에 할당하는 과정을 의미한다. 이터러블 객체의 요소를 여러 개의 변수에 나누어 할당하는 것이 특징이다. 즉 할당은 값은 변수에 직접 저장하는 것이고, 언팩킹은 이터러블 객체의 요소들을 여러 변수에 나누어 저장하는 것이다.
7. 이터러블 객체
파이썬에서 순회 가능한 객체를 의미한다. 내장 자료형 중 리스트, 튜플, 문자열 등이 포함된다. 이터러블 객체의 각 요소는 순회 가능한 순서를 가지고 있어서 반복문을 통해 하나씩 접근할 수 있다.
'PYTHON > 초보자를 위한 파이썬 300제' 카테고리의 다른 글
| 07. 파이썬 분기문 101 ~ 110 (0) | 2024.02.24 |
|---|---|
| 06. 파이썬 딕셔너리 091 ~ 100 (1) | 2024.02.24 |
| 05. 파이썬 튜플 071 ~ 080 (0) | 2024.02.21 |
| 04. 파이썬 리스트 061 ~ 070 (0) | 2024.02.20 |
| 04. 파이썬 리스트 051 ~ 060 (0) | 2024.02.19 |