python-字典

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)

 

get获取索引数据

#索引不存在会报错
info={'k1':'v1','k2':'v2'}
#获取字典索引取值   k存在就取,没有就返回空,或者返回默认值
#v2=info.get('k1111',6666)  #返回666
v3=info.get('k1111')   #返回None, 空
print(v3)

None

if配合
result=info.get('k1111')
if result ==None:
print('不存在')

if result:
print('存在')
else:
print('不存在')

 

update

info ={'k1':'v1','k2':'v2'}
#不存在,则添加,存在,则更新 info.update({
'k3':'v3','k4':'v4','k2':66666}) print(info)

{'k1': 'v1', 'k2': 66666, 'k3': 'v3', 'k4': 'v4'}

 

posted @ 2019-09-24 14:37  大仙儿没溜儿  阅读(176)  评论(0编辑  收藏  举报