Python基础系列

Python字典的增删改查以及嵌套

2019-07-22  本文已影响1人  我爱学python

#字典

    #基础数据类型之一,{}以键值对的形式存储数据。

# dic={'name':'Laonanhai',

#      'age':45,

#      'name_list':['反面教材','俊俊',....]

#      }

# 以key:value形式,映射,存储的大量的关系型数据。

# 数据类型的分类:

#        可变(不可哈希hash):list,dict,set,list=[11,222,333]

#        不可变(可哈希hash):str,tuple,int,bool  name='alex'

#        容器类:

#            容器类的数据类型:list ,tuple, dict,  l1=[11,True,'alex',[22,33,44]]

#            非容器类的数据类型:str ,int, bool.  s1='[11,22,33]'

#        字典的key必须是不可变的数据类型,是唯一的,

#                  hash算法:字典的键通过hash表转化成数字,采用二分查找查询数字

#                        字典的value可以是任意数据类型

#                        字典的查询速度非常快,存储的大量的关系型数据

#                        字典在python3.5包含3.5之前都是无序,但3.6之后是有序的

#键唯一

# dic={

#    'name':'alex',#当有两个的时候自动覆盖

#    'name':'WuSir',

# }

# print(dic)

#键必须是不可变的可哈希的数据类型

# dic={'name':'老男孩','age':'56','hobby':'women'}

#增

# dic['sex']='LaddyBoy'

# dic['name']='Alex'  #有则覆盖,没有就添加

# dic.setdefault('sex','Laddyboy')  #有则不变,无则添加。

# dic.setdefault('name','alex')

# print(dic)

#删

# print(dic.pop('age'))  #有返回值,返回的是键对应的值

# print(dic.pop('age1','没有此键....'))#可以对返回值进行重新赋值操作

# print(dic)

# dic.clear()#清空字典

# print(dic)

# print(dic.popitem())#随机删除,有返回值,返回值为元组,里面是 删除的键值对

# print(dic)

#del

#1,删除整个字典

# del dic    #删除以后的字典不存在,如果再次打印会报错

# print(dic)

#2,按照键删除键值对

# del dic['name']

# print(dic)

#改

# dic['name']='Alex'    #有则覆盖,没有就添加

# #update  两个字典的更新

# dic={'name':'jin','age':18,'sex':'male'}

# dic2={'name':'alex','weight':75}

# dic2.update(dic) #将dic里面的所有键值对,覆盖添加到dic2中,dic不变

# print(dic)  #{'name': 'jin', 'age': 18, 'sex': 'male'}

# print(dic2)  #{'age': 18, 'name': 'jin', 'weight': 75, 'sex': 'male'}

#查

#1,dic['name']

# print(dic['name'])

#

# #2.dic.get('name')

# print(dic.get('name'))

# print(dic.get('name1'))  #在使用get查询没有时会返回none 可以对他进行操作

# print(dic.get('name1','sb没有此键'))

#for循环查询

#dic.key(),  dic.values(),  dic.items()  #类似于list但不是list的类型。

# print(dic.keys(),type(dic.keys()))

# for key in dic.keys():

#    print(key)

# l_key=list(dic.keys())

# print(l_key)

# for value in dic.values():

#    print(value)

# l_value=list(dic.values())

# print(l_value)

# print(dic.items())

#分别赋值概念

# a,b=1,2

# c,d=('alex','34')

# e,f=['alex','34']

#有如下a=1  b=3,用一行代码将a,b值互换。

# a=1

# b=3

# a,b=b,a

# print(a,b)

# print(dic.items())

#

# for i in [22,33,44]:

#    print(i)

# for i in [(11,22),(33,44),(55,66)]:

#    print(i)

# # k,v=('name','老男孩')

# for k,v in dic.items():

#    print(k,v)

#字典的嵌套

dic = {

    'name_list':['碗蓉','俊俊','爽妹'],

    'status':None,

    'personal_msg':{

        'name':'反面教材',

        'age':25,

        'hobby_list':['抽烟','喝酒','烫头'],

    }

}

# 1,给dic添加一个键值对,学校:老男孩

# dic['学校']='老男孩'

# print(dic)

# 2,将status对应的值改成True

#第一种方法:

# dic3={'status':'True'}

# dic.update(dic3)

# #第二种方法:

# # dic['status']='True'

# print(dic)

# 3,给name_list对应的列表追加一个元素:平平

# dic['name_list'].append('平平')

# print(dic)

# 4,给personal_msg对应的字典添加一个键值对sex:男

# dic['personal_msg']['esx']='男'

# print(dic)

# 5,将hobby_list 对应的列表中的烫头改成唱歌。

dic['personal_msg']['hobby_list'][-1]='唱歌'

print(dic)

上一篇下一篇

猜你喜欢

热点阅读