字典增删改查

本文详细介绍了Python中字典的基本概念、数据类型分类、增删改查操作以及字典的嵌套使用等内容,通过实例帮助读者掌握字典的使用技巧。

一:字典的知识:

字典:python中非常重要的数据类型,在python中唯一一个映射的数据类型
数据类型分类
按照数据可变与不可变:
 # 不可变数据类型: int str bool tuple  可哈西
 # 可变数据类型: list,dict,set         不可哈西

1  键值对
#字典的   key:value# key 是唯一的 且是不可变数据类型  int,str bool tuple

#value:任意数据类型

二:字典增

1 按照key值增加 有就覆盖,没有就增加

字典增加

dic={'name':'jin','age':16,'sex':'male'}
dic['name']='sese'
print(dic)
# 有就覆盖
dic['hobby']='kaiche'
print(dic)
# 没有就添加

打印结果:

172137_TSsN_3657436.png

2 setdefault (添加没有key值,不设置value显示none,设置了正常显示。 添加有的key值,会被覆盖(相当于没有改变之前的显示))

 

1  按照key和value增加,添加没有key值,valu没有设置,显示none

dic={'name':'jin','age':16,'sex':'male'}
dic.setdefault('lang')
print(dic)

打印结果

172522_LsQj_3657436.png

2  设置没有key值,并设置value,全部显示

dic={'name':'jin','age':16,'sex':'male'}
dic.setdefault('hobbie','kaichuan')
print(dic)

显示结果

172657_Gaj9_3657436.png

3 设置key和value,有key,value被覆盖

dic={'name':'jin','age':16,'sex':'male'}
dic.setdefault('name','zhu')
print(dic)

打印结果

172847_HjAB_3657436.png

 

三:字典删除

1 pop 按照key值删除,有返回值,如果没有key,可以设置返回值。

有key值例子,打印返回值。

dic={'name':'jin','age':16,'sex':'male'}
ret=dic.pop('name')
print(dic)
print(ret)

显示结果:

173505_lnaS_3657436.png

没有key值  设置返回值

dic={'name':'jin','age':16,'sex':'male'}
ret=dic.pop('name1','没有此键')
print(ret)

打印结果

173959_RJzT_3657436.png

2 随机删除 popitem  (3.5版本以前可以(字典是无序的),3.6版本后字典是有序的,默认删除最后一个。

dic={'name':'jin','age':16,'sex':'male'}
dic.popitem()
print(dic)

打印结果

174238_kxbc_3657436.png

3 clear(li.clear())  清空字典

dic={'name':'jin','age':16,'sex':'male'}
dic.clear()
print(dic)

打印结果

空字典

174840_Slre_3657436.png

4 del 删除字典(虽然显示错误,但是就这么用)

174942_Y2dd_3657436.png

打印结果:

175002_flok_3657436.png

 

四:字典修改

1 直接修改

dic={'name':'jin','age':16,'sex':'male'}
dic['name']='zhu'
print(dic)

打印结果

175219_rr4l_3657436.png

2 update

将dic1的键和值覆盖添加到dic2中,dic1不变

dic1={'name':'jin','age':16,'sex':'male'}
dic2={'name':'zhujun','weight':60}
dic2.update(dic1)
print(dic1)
print(dic2)

打印结果

180021_n9Iz_3657436.png

 

五:字典的查

第一种:直接查(按照key)

第二种:get,当没有key时候,如果没有设置返回值,显示none.

              设置返回值显示返回值内容

dic={'name':'jin','age':16,'sex':'male'}
print(dic['name'])
print(dic.get('name'))
print(dic.get('haha'))
print(dic.get('haha','孩子长点心,找不到'))

打印结果:

 

 

a,b直接赋值,只要后面有两个元素, int list dict tuple等类型都行

a,b能同时赋值,只要后面有两个元素,  int list dict tuple等类型都行

a = 1      #一行代码实现a,b值互换
b = 3
a,b = b,a
print(a,b)
a,b = ['alex','wusir']
print(a,b)
a,b = ('alex','wusir')
print(a,b)

打印结果:

181553_w0W8_3657436.png

六:取出字典键和值,

1:取key

第一种循环整个字典

dic1={'name':'jin','age':16,'sex':'male'}
for k in dic1:
    print(k)

打印结果

180358_hLAB_3657436.png

第二种:

dic1={'name':'jin','age':16,'sex':'male'}
for k in dic1.keys():
    print(k)

打印结果

180832_Vo1r_3657436.png

2:取value

dic1={'name':'jin','age':16,'sex':'male'}
for v in dic1.values():
    print(v)

打印结果:

180652_L5oa_3657436.png

3:取key和value

dic1={'name':'jin','age':16,'sex':'male'}
for k,v in dic1.items():
    print(k,v)

打印结果:

180927_jUDI_3657436.png

 

七:字典的嵌套  联系题

dic = {
    'name':'金鑫',
    'name_list':[1,2,3,'李杰'],
    1:{
        'python10':['小黑','萌哥'],
       '老男孩':{'name':'oldboy','age':56}
    }

问题:

1,[1,2,3,'李杰']追加'wusir'
dic['name_list']=[1,2,3,'李杰','wusir']
print(dic)
dic['name_list'].append('wusir')
print(dic)

2, ['小黑','萌哥'] 小黑 萌哥中间 插入一个花哥
dic[1]['python10'].insert(1,'花哥')
print(dic)

3, {'name':'oldboy','age':56} 添加一个键值对,hobby:男人
dic[1]['老男孩']['hobbie']='sese'
print(dic)

打印结果:

 

 

转载于:https://my.oschina.net/u/3657436/blog/1613136

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值