第五章 字典和结构化数据
零,续第四章
1,
import random
message=['hello','print','kkkk',
'lllll']
print(message[random.randint(0,len(message)-1)])
2,
catname=[]
while True:
print('enter...')
cattmpname=input()
if cattmpname=='':
break
catname+=[cattmpname]
print(catname)
第五章:
一,
二,
1…在访问一个键的值之前,检查该键是否存在于字典中,这很麻烦。好在,字典有一个get()方法,它有两个参数:要取得其值的键,以及如果该键不存在时,返回备用值。
2…字典和列表的主要区别 : 字典无序而列表有序。
3…如果一个字典保存在spam 中,表达式’cat’ in spam 和’cat’ in spam.keys()之间的区别是什么?
没有,in 操作符检查一个值是不是字典中的一个键。
4…如果一个字典保存在spam 中,表达式’cat’ in spam 和’cat’ in spam.values()之间的区别是什么?
‘cat’ in spam 检查字典中是不是有一个 ‘cat’ 键,而’cat’ in spam.values() 检查是否有一个值 ‘cat’ 对应于spam 中的某个键。
三,
1,
birthdays={'tom':'0908','bob':'0808','jack':'0123'}
while True:
print('please tell you name:')
name=input()
if name=='':
break
if name in birthdays:
print('you birthddays is'+birthdays[name]+'!')
else:
print('i do not know')
print('can you tell me?')
birthdays[name]=input()
print('you birthddays is' + birthdays[name] + '!')
2,
h={'kk':'11','00':'pp'}
print(h['11'])
运行:
D:\python\python.exe D:/py-code/02/main.py
Traceback (most recent call last):
File “D:\py-code\02\main.py”, line 2, in
print(h[‘11’])
KeyError: ‘11’
3,
h={'kk':'11','00':'pp'}
print(h['kk'])
运行:11
4,
message='hello,i am a dog and he is a pig !'
count={}
for ch in message:
count.setdefault(ch,0)
count[ch]+=1
print(count)
运行:
{‘h’: 2, ‘e’: 2, ‘l’: 2, ‘o’: 2, ‘,’: 1, ‘i’: 3, ’ ': 9, ‘a’: 4, ‘m’: 1, ‘d’: 2, ‘g’: 2, ‘n’: 1, ‘s’: 1, ‘p’: 1, ‘!’: 1}