字典增删改查

一:字典的知识:python

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

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

#value:任意数据类型

二:字典增app

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

字典增长

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

打印结果:get

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

 

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

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

打印结果循环

2  设置没有key值,并设置value,所有显示数据类型

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

显示结果im

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

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

打印结果

 

三:字典删除

1 pop 按照key值删除,有返回值,若是没有key,能够设置返回值。

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

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

显示结果:

没有key值  设置返回值

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

打印结果

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

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

打印结果

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

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

打印结果

空字典

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

打印结果:

 

四:字典修改

1 直接修改

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

打印结果

2 update

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

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

打印结果

 

五:字典的查

第一种:直接查(按照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)

打印结果:

六:取出字典键和值,

1:取key

第一种循环整个字典

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

打印结果

第二种:

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

打印结果

2:取value

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

打印结果:

3:取key和value

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

打印结果:

 

七:字典的嵌套  联系题

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)

打印结果:

相关文章
相关标签/搜索