3.6 字典 ( dict )
3.6.1 字典的表示
dict= {‘keys’:v,’keys’:v,’keys’:v,’keys’:v)
注意: key 不可以是 int , list ,dict, set 只能可哈希的,不可变的数据
3.6.2创建字典
1 dic = {'name':'alex','age':15,'xingbie':'男'}
2 toot = dict(name='alex',age=15,xingbie='男')
3 m={},formkeys([1,2,3,4,5],10)
print(m) #m={'1':10.'2':10.'3':10.'4':10.'5':10}
3.6.3 修改增加
- 增 已经存在的将会被修改,没有的keys会添加字典中
keys不可变
dic = {'name':'alex','age':15,'xingbie':'男'}
dic[age]=18 # dic = {'name':'alex','age':18,'xingbie':'男'}
#--------批量添加------------
dic,uptate({k:v,K:v})
查
dic = {'name':'alex','age':15,'xingbie':'男'} print['name'] #字典中name对应的值
3.6.4 字典的常用功能
dic = {‘name’:’alex’,’age’:15,’xingbie’:’男’}
keys 打印字典的所有key值
for i in dic.keys(): print(i) # namw, age, xingbie
values 打印字典所有的key对应的值
for i in dic.values(): print(i) # alex,15 ,男
items 打印字典一组key:values
for a,b in dic.items(): print(a,b)
共有的
len 以 k:v 为一个单位
dic = {'name':'alex','age':15,'xingbie':'男'} print(len(dic)) #3
index 步长 切片 没有
for 的练习
# 6. 给你一个空字典,请一直让用户输入:key,value,将输入的key和value添加到字典中,直到用户输入 N ,则表示不再输入。 info = {} while True: k = input('请输入key:') if k == 'N': break v = input('请输入value:') info[k] = v print(info) # 7. 请用代码实现 message = "k1|v1,k2|v2,k3|123......." # ,k3|123 info = {'k1':'v1','k2':'v2','k3':'123'} -------------------------------------------- info = {} message = "k1|v1,k2|v2,k3|123" for item in message.split(','): # ["k1|v1","k2|v2","k3|123"] v1,v2 = item.split('|') info[v1] = v2 print(info)
删除 del
练习
1, 用户输入 info = {'name':'alex','age':'15520'} usee =input("请输入:") usees = input('请输入:') if usee == info['name'] and usees == info['afe']: print('登陆成功') else: print("登陆失败") 2. 给你一个空字典,请一直让用户输入:key,value,将输入的key和value添加到字典中,直到用户输入 N ,则表示不再输入。 dic= {} while 1 : key = input("请输入 n 退出”) values = input('请输入') if key == 'n' or values == 'n': break else : dic[key]=values print(dic) 3 user_list = [{'user': 'alex', 'pwd': '123'}, {'user': 'oldboy', 'pwd': '123'}, {'user': 'lishaoqi', 'pwd': '123'}] username = input('请输入用户名:') # oldboy password = input('请输入密码:') # 123 message = "登陆失败" for item in user_list: if item['user'] == username and item['pwd'] == password: message = '登陆成功' break print(message)