python字典的操作

一  字典

1 字典的定义

字典是一个无序的,可修改的,元素呈键值对的形式,以逗号分割的,以大括号包围的序列;

字典是python基础数据类型当中唯一一个映射关系的数据类型;

由于字典无序,所以我们定义字典和字典生成之后的元素顺序是不同的;

dic = {key:value,key1:value,...}

2、字典的key的类型只能是不可变数据类型,value可以是可变数据类型

dic = {'name':'zs',10:32,(1,2,3):(2,3,4)}
print(dic)#{10: 32, 'name': 'zs', (1, 2, 3): (2, 3, 4)}
dic = {'name':'zs',10:32,[1,2,3]:(2,3,4)}
print(dic) #报错

3字典的增、删、改、查

(1)字典的增加

dic  =  {'name':'zs','age':10,'height':1.75}
dic.setdefault('weight',170)#setdefault     {'height': 1.75, 'weight': 170, 'name': 'zs', 'age': 10}
dic.setdefault('weight',180)# 如果 key在字典中就已经存在  就不会覆盖字典中的值
dic['weight'] = 180 #根据key来设置值
dic['weight'] = 120#如果key存在,就直接覆盖掉原有的值   {'weight': 120, 'height': 1.75, 'age': 10, 'name': 'zs'}
print(dic)

(2)删除操作

dic = {'name':'zs','height':1.75}

dic.pop('name')   按照‘键’删除值
print(dic)#  {'height': 1.75, 'age': 10}

dic.popitem()  随机删除一个键值对

dic.clear()  清除字典中的左右键值对

del dic   直接从内存中删除变量 , 效果是报错

deldic['name']   根据键值对删除 

(3)修改操作

dic  =  {'name':'zs','age':10,'weight':1.33}
根据键来修改值
dic['name'] = '赵四'
dic1 = {'name':'赵四','height':1.75}

dic.update()  需要传递一个字典,如果key相同就直接修改对应的value,如果key不存在就直接添加键值对
dic.update(dic1)

(4)查找操作

dic = {'name':'zs','age':10,'weight':1.33}
value = dic.get('name')  根据键获取对应的值我们可以定义一个变量接收返回值
print(value)

ret = dic.key  获取所有的‘键’

values = dic.values() 获取所有的‘值’

ret = dic.items()  返回列表套元组的形式

ret = len(dic)   返回键值对个数

tup = (1,2,3,)
ret = dict.formkeys(tup,'aa')   # {1: 'aa', 2: 'aa', 3: 'aa'}
print(ret)

4.python字典的特点

因为字典是无序的,所以没有索引值

因为字典没有索引值,所以字典以键取值,(字典的键相当于列表的索引)

因为自电视以键取值,所以字典的键具有唯一性,且不可修改

因为字典的键不可修改,所以列表和字典可变类型的数据不可以给字典做键

5.字典的遍历

in   判断指定的键是否在字典中

not in   判断指定的键是否不再字典中

dic = {'name':'zs','weight':129,'age':10}
for key,value in dic.items():
    print(key,'---',value)


结果:
age --- 10
name --- zs
weight --- 129

for.....in ......  通过for.....in ...... :的语法结构,我们可以遍历字符串、列表、元组、字典等数据结构

in 和not in
dic = {'name':'zs','weight':129,'age':10}
key = dic.keys()
if 'name' not in keys:
    dic['name'] = '赵四'
else:
    dic['name'] = '尼古拉斯'      dict_keys(['age', 'name', 'weight'])
                                 {'age': 10, 'name': '尼古拉斯', 'weight': 129}

print(dic)


for key in dic.key():      # 只获取key
    print(key)
             结果:          name
                            weight
                            age
    

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值