Day5

1、dict 字典

key-value

储存大量的数据,而是关系型数据,查询速度快。

dic = {

  'name':'老男孩',

  ‘age’:17,

  'name_list': [王 王 王 王 王 王 王]

  1:True.  

  }

数据类型分类:

   可变数据类型(不可哈希):list,dict,set

   不可变数据类型(可哈希):int,bool,str,tuple

    字典的键:不可变数据类型

    字典的值:任意数据类型

   容器类型:

    容器类(承载各种数据类型):list,tuple,dict

字典的键是唯一的。

字典的顺序:

  3.5之前,字典是无序的

  3.6开始,字典创建的时候,按照一定的顺序插入的数值,看起来是有序的

第一种:有责覆盖,无则添加

dic['hobby'] = 'girl'

第二种 setdefault 无则添加,有则不变

dic.setdefault('hobby')

dic.setdefault('hobby','girl')

pop 有返回值 返回被删除的值

print(dic.pop('age'))

print(dic)

dic.pop('hobby') #字典中无hobby 会报错

print(dic.pop('hobby',None))  #返回设定好的值 也就是None

clear 清空效果和列表相同

dic.clear()

print(dic)

del 

del dic

print(dic)  #dic已被删除 报错

del dic['name']

print(dic)

dic.popitem()  #随机删除 有返回值

print(dic.popitem())

print(dic)

dic['name'] = '太白'

print(dic)

两个字典的改

dic= {'name':'jin','age':18,'sex':'male'}
dic2= {'name':'alex','weight':75}
dic2.update(dic)   #将dic键值对 覆盖并添加到dic2
print(dic)
print(dic2)
View Code

print(dic['name'])

print(dic['name1'])    #报错

print(dic.get('name'))

print(dic.get('name1'))   #默认返回None

print(dic.get('name1','没有此键值对'))  #返回没有此键值对

其他方法:

keys()  value()  items()

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

print(dic.keys())

遍历dic字典的键

for i in dic.keys():
     print(i)
for i in dic:
    print(i)
View Code

li = list(dic.keys())

print(li)

print(dic.value())

print(dic.items())

for i in dic.items():

  print(i)

特殊类型dict转换成list

print(list(dic.keys()))

概念:分别赋值

a,b= 2,3

a,b=(2,3)

a,b= [2,3]

a=4,b=5

a,b=b,a  # a,b数值调换

print(dic.items())

for k,v in dic.items()

print(k,v)

2、dict的嵌套

dic= {'nem_list':['王三','lisi','隔壁老王'],
    'dic2':{'name':'太白','age':12}
    }
View Code

给列表追加一个元素:‘’旺旺‘’

dic['name_list'].append('旺旺')

print(dic)

给列表lisi全部大写

dic['name_list'][1]= dic['name_list'][1].upper()

print(dic)

给dic2对应的字典添加一个键值对:hobby:girl

dic['dic2']['hobby']='girl'

print(dic)

原文地址:https://www.cnblogs.com/a352735549/p/8624997.html