티스토리 뷰
교재 171p~173p 내용 복습 - 4번 문제는 혼자 풀이하기 어려워 교재 풀이를 이해하는 쪽으로 공부
2. 딕셔너리와 리스트를 조합하면 다양한 정보를 축적할 수 있습니다. 이를 실행결과처럼 출력되도록 빈칸에 반복문과 print() 함수를 조합해 보세요.
# 딕셔너리의 리스트를 선언합니다.
pets = [
{"name":"구름", "age": 5},
{"name":"두부", "age": 4},
{"name":"초코", "age": 2},
{"name":"호랑이", "age": 1}
]
print("-우리 동네 애완 동물들")
# 코드 작성
# 실행결과
-우리 동네 애완 동물들
구름 5살
두부 4살
초코 2살
호랑이 1살
- 풀이
리스트 또는 딕셔너리의 요소에서 숫자의 경우 str() 함수를 사용하여 문자열로 변환하는 과정을 기억할 것
for pet in pets: # 딕셔너리안에 요소를 하나씩 대입하여 풀이
print(pet["name"], str(pet["age"])+"살") # age와 "살" 사이에 공백 때문에 age를 문자열로 바꿔 출력
3. 다음 빈칸을 채워 numbers 내부에 들어 있는 숫자가 몇 번 등장하는지를 출력하는 코드를 작성해 보세요.
# 숫자는 무작위로 입력해도 상관 없습니다.
numbers = [1,4,5,2,3,4,8,7,6,4,4,6,9,9,2,2,1]
conuter = {}
for number in numbers:
_______________
# 최종 출력
print(counter)
# 실행결과
{1: 2, 4: 4, 5: 1, 2: 3, 3: 1, 8: 1, 7: 1, 6: 2, 9: 2}
-풀이
numbers의 요소 값을 하나씩 number에 대입하면서 if문을 사용하여 비어있는 conuter 딕셔너리에 값을 추가하면 된다.
딕셔너리[새로운 키]= 새로운 값
따라서 conuter에 number가 있다면 conuter[1] = counter[1] + 1 , 없다면 딕셔너리 conuter에 추가
for number in numbers: # 리스트 numbers의 요소를 한 개씩 number에 대입하여 if 문 실행
if number in conuter : # 딕셔너리 conuter에 number 값이 있다면 값에 +1 추가
conuter[number] = conuter[number] +1
else : # number 값이 없다면 딕셔너리에 추가
conuter[number] = 1
4. 파이썬은 다음과 같은 방법으로 특정 값이 어떤 자료형인지 확인할 수 있습니다. 이를 활용하여 다음 빈칸을 채워 실행결과와 같이 출력되게 만들어 보세요.
힌트 : 리스트가 중첩되어 두 번 감싸 졌을 경우에는 반복문을 두 번 사용해야 합니다.
type("문자열") is str # 문자열인지 확인
type([]) is list # 리스트인지 확인
type({}) is dict # 딕셔너리인지 확인
# 딕셔너리를 선언합니다.
character = {
"name" : "기사",
"level" : 12,
"items" : {"sword" :"불꽃의 검", "armor":"풀플레이트"},
"skill" :["배기", "세게 배기", "아주 세게 배기"]
}
# for 반복문을 사용합니다.
for key in character :
___________
# 실행결과
name: 기사
level : 12
sword : 불꽃의 검
armor : 풀플레이트
skill : 베기
skill : 세게 베기
skill : 아주 세게 베기
-풀이 문제가 어려워 교재 내용을 이해한대로 적어보았다... ㅠㅠ
딕셔너리 값이 리스트, 딕셔너리가 중첩되어있어 for반복문을 중첩된 만큼 사용해야한다.
딕셔너리 안에 값이 리스트인 키와, 딕셔너리인 키가 있기 때문에 if문에서 type() 함수를 사용하여 걸러주고, 각 리스트, 딕셔너리 내용을 풀기 위해 if문 안에 for문을 사용하여 내용을 출력하면된다.
for key in character :
if type(character[key]) is dict :
for small_key in character[key]:
print(key, ":", character[key][small_key])
elif type(character[key]) is list:
for item in character:
print(key, ":", item)
else:
print(key, ":", character[key])
내용 출처 - 혼자 공부하는 파이썬
'study > Python' 카테고리의 다른 글
Tuple (0) | 2022.06.16 |
---|---|
List, Dictionary 관련 기본 함수 및 리스트 내포 (0) | 2022.06.16 |
Dictionary (0) | 2022.06.13 |
List - 혼자 공부하는 파이썬 예제 풀이 (개인 공부) (0) | 2022.06.13 |
List (0) | 2022.06.10 |
- Total
- Today
- Yesterday
- Python
- 한글 형태소 분석기
- 회원 로그인
- django
- 검색 결과 내 페이지네이션
- Magazine K
- Spring
- django-environ
- 암호화
- 환경 변수 설정
- authenticate()
- path variable
- python3
- git
- 커맨드 객체
- 디자인 패턴
- musma
- 배열
- 혼자 공부하는 파이썬
- Django tutorial
- 회원가입
- git 공부
- 톰캣
- django.contrib.auth
- git공부
- API
- Java
- 면접을 위한 CS 전공 지식 노트
- 웹페이지
- error: failed to push some refs to 'https://github.com/
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |