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'}

 

转载于:https://www.cnblogs.com/sky00747/p/11578188.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值