python
사전
설유리아
2020. 3. 13. 16:42
사전
- 사전(dictionary) : 순서가 없는 key-value 쌍의 집합
- 리스트는 인덱스 0부터 시작해서 순서대로 채워지고, 사전은 순서가 없어서 아무 값을 쓸 수 있다.
dict1 = {}
print(type(dict1))
key가 정수
dict1에 key-value 쌍을 추가
dict1 = {}
dict1[5] = 25
dict1[2] = 4
dict1[3] = 9
print(dict1)
key가 정수 X
dict1 = {}
dict1['chocolate'] = 'food'
dict1['me'] = 'preson'
dict1['apple juice'] = 'drinkables'
print(dict1['me'])
print(dict1['chocolate'])
사전의 key, value 받아오기
key 받아오기 : 사전이름.keys( )
value 받아오기 : 사전이름.values( )
사전에 어떤 key가 있는지 확인하기
key 확인 : '어떤 key' in 사전이름.keys( )
value 확인 : '어떤 value' in 사전이름.values( )
사전의 key 값들을 리스트로 형 변환
key 리스트 변환 : 리스트 이름 = list(사전이름.keys( ))
value 리스트 변환 : 리스트이름 = list(사전이름.values( ))
dict1 = {}
dict1['chocolate'] = 'food'
dict1['me'] = 'preson'
dict1['apple juice'] = 'drinkables'
print(dict1.keys()) # 사전의 키 가져오기
print(dict1.values()) # 사전의 값 가져오기
# 사전에 어떤 키가 있는지
print('door' in dict1.keys())
print('me' in dict1.keys())
# 사전에 어떤 값이 있는지
print('food' in dict1.values())
print('book' in dict1.values())
# 사전의 키들을 리스트로 변환
dict1_keys = list(dict1.keys())
print(type(dict1_keys))
# 사전의 값들을 리스트로 변환
dict1_values = list(dict1.values())
print(type(dict1_values))
랜덤 단어 퀴즈
# 랜덤 사용하기 위해
from random import randint
# 파일 불러오기
in_file = open('vocabulary.txt', 'r', encoding="utf-8")
word_book = {} # 사전
temp = '' # 영어 입력할 때 넣을 값
result = '' # 정답이 들어갈 곳
#vocabulary의 값을 word_book에 넣기
for line in in_file:
data = line.strip().split(":")
word_book['%s' % data[0]] = '%s' % data[1]
# 한글을 리스트화
k_list = list(word_book.keys())
# 사전 실행
while True:
# 한글 값 랜덤으로 생성
k_random = k_list[randint(0,len(k_list)-1)]
result = word_book['%s' % k_random] #정답 넣기
temp = input("%s : " % k_random) # 값 입력
# 'q'를 입력해서 끝낼건지
if temp == 'q':
break
# 맞았는지 아닌지 판정
elif result == temp:
print("맞았습니다!")
else:
print("틀렸습니다. 정답은 %s입니다." % result)
in_file.close()