python3.6之后字典就是有序的了 。。。。之前的是无序的

字典:帮助用户去表示一个事物的信息(事物是有多个属性)

info={'name':'yang','age':18,'gender':''}   #创建字典  key  value形式
print('名字:',info['name'])  #调用
print('年龄:',info['age'])
名字: yang 年龄:
18

字典独有的功能

info={'name':'yang','age':18,'gender':''}

info.keys()  #获取字典中所有的键 
info.values() #获取字典中所有键
info.items() #获取字典中所有键值对



for  i in info.keys():  #获取所有的键
    print(i)


for i in info.values():  #获取所有的值
    print(i)

for v1,v2 in info.items(): #获取键值
    print(v1,v2)
name yang
age 18
gender 男

公共功能

len

len
info={'name':'yang','age':18,'gender':''} print(len(info))

3

索引

info={'name':'yang','age':18,'gender':''}
print(info['name'])

yang

修改字典

#修改值
info={'name':'yang','age':18,'gender':''}
info['age']=19

#修改键
一般都是要先删除在增加
del info['name']
info['name']='xyang'

删除

info={'name':'yang','age':18,'gender':''}
del info['name']

 将字符串转换成字典

info={}
message="k1|v1,k2|v2,k3|v3"
for i in message.split(','):
     v1,v2=i.split('|')
     info[v1]=v2
print(info)

{'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}

数据嵌套方式

info={
    'k1':'v1',
    'k2':True,
    'k3':1,
    'k4':(11,22),
    'k5':[11,22],
    'k6':{'kk','vv'},
    1:{'kk'},
    False:{'kk'},
    #[11]:{'kk'}  #不可哈希   列表是可变的,字典中不可以放可变类型(key)
    (11):{'kk'},
    #{'k1':'v2'}:{'kk','vv'},#不可哈希
}

嵌套数据 获取数值,以及插入

data=[1,2,{'k1':1,'k2':2,'k3':(11,22,33),'k4':[1,2,(3,4),2,3]},2]
#获取3print(data[2]['k4'][2][0])
#k4 0的位置插入9
data[2]['k4'].insert(0,9) print(data)

练习:登录

user=[{'user': '123', 'passwd': 'adsf'}, {'user': '123', 'passwd': '123'}, {'user': 'adsf', 'passwd': 'asdf'}]

username=input('请输入用户名:')
userpass=input('请输入密码:')

message="登录失败"
for i in user:
     if i['user'] == username and  i['passwd'] == userpass:
         message = '登录成功'
         break
print(message)
02-12 04:50