首页 > 编程语言 > 详细

python之路(字典)

时间:2020-02-15 16:13:23      阅读:51      评论:0      收藏:0      [点我收藏+]

字典:dic:python基础数据之一,建过键值对{key:value}存储数据.

dic = {‘name‘: ‘eric‘, ‘age‘: 18, ‘sex‘: ‘男‘, ‘job‘: ‘IT‘}

一、增:

第一种:有key就直接修改,无key就直接添加

dic[‘wife‘] = ‘abby‘

result:{‘name‘: ‘eric‘, ‘age‘: 18, ‘sex‘: ‘男‘, ‘job‘: ‘IT‘, ‘wife‘: ‘abby‘}

dic[‘age‘] = 32

result:{‘name‘: ‘eric‘, ‘age‘: 32, ‘sex‘: ‘男‘, ‘job‘: ‘IT‘}

第二种:setdefault:有此key则不做任何操作,返回对应的value,无此key则添加

dic.setdefault(‘sex‘)

result:男

dic.setdefault(‘hobby‘,‘讲课‘)

result:{‘name‘: ‘eric‘, ‘age‘: 18, ‘sex‘: ‘男‘, ‘job‘: ‘IT‘, ‘hobby‘: ‘讲课‘}

dic.setdefault(‘name‘,‘abby‘)

result:{‘name‘: ‘eric‘, ‘age‘: 18, ‘sex‘: ‘男‘, ‘job‘: ‘IT‘}

 

二、删

第一种:

pop:通过键删除键值对,有返回值,如果没有这个键,并且设置了第二个参数也不会报错,并且返回第二个参数

print(dic.pop(‘name‘))

print(dic)

result:

eric

{‘age‘: 18, ‘sex‘: ‘男‘, ‘job‘: ‘IT‘}

 

print(dic.pop(‘name1‘,‘没有此键....‘))

print(dic)

result:

没有此键....

{‘name‘: ‘eric‘, ‘age‘: 18, ‘sex‘: ‘男‘, ‘job‘: ‘IT‘}

 

第二种:clear:清空

dic.clear()

result:{}

 

第三种:popitem:3.5 之前随机删除某个键值对,3.6以后,删除最后一组键值对。有返回值.

print(dic.popitem())

print(dic)

result:

(‘job‘, ‘IT‘)
{‘name‘: ‘eric‘, ‘age‘: 18, ‘sex‘: ‘男‘}

 

第四种:del:

按照键删除键值对

del dic[‘name‘]

result:{‘age‘: 18, ‘sex‘: ‘男‘, ‘job‘: ‘IT‘}

删除整个字典

del dic

result:name ‘dic‘ is not defined

 

三、改

第一种:

dic[‘age‘] = 25

result:{‘name‘: ‘eric‘, ‘age‘: 25, ‘sex‘: ‘男‘, ‘job‘: ‘IT‘}

 

第二种:

两个字典update

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

dic2 = {"name":"alex","weight":75}

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

result:{‘name‘: ‘alex‘, ‘age‘: 18, ‘sex‘: ‘male‘, ‘weight‘: 75}

单独覆盖修改添加

dic.update(a=‘666‘,b=‘222‘,name=‘taibai‘)

result:{‘name‘: ‘taibai‘, ‘age‘: 18, ‘sex‘: ‘male‘, ‘a‘: ‘666‘, ‘b‘: ‘222‘}

 

四、查

print(dic[‘name‘])

result:eric

print(dic.get(‘name‘))

result:eric

print(dic.get(‘name1‘))

result:None

print(dic.get(‘name1‘,‘没有此键‘))

result:没有此键

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

result:dict_keys([‘name‘, ‘age‘, ‘sex‘, ‘job‘]) <class ‘dict_keys‘>#类似列表的容器,可以转化为list

l1 = list(dic.keys()) 

print(l1)

result:[‘name‘, ‘age‘, ‘sex‘, ‘job‘]

可以遍历:

for key in dic.keys(): # 可以遍历

print(key)

result:

name

age

sex

job

 

print(dic.values())

print(list(dic.values()))

result:可以遍历

dict_values([‘eric‘, 18, ‘男‘, ‘IT‘])
[‘eric‘, 18, ‘男‘, ‘IT‘]

 

print(dic.items())#可转化成list,可遍历。

result:dict_items([(‘name‘, ‘eric‘), (‘age‘, 18), (‘sex‘, ‘男‘), (‘job‘, ‘IT‘)])

 

分别赋值

a,b = 10,20

print(a,b)

result: 10 20

a,b = [10,20]

print(a,b)

result:10 20

a,b = [(1,2),(3,4)]

print(a,b)

result:(1, 2) (3, 4)

a = 10

b = 20

a,b = b,a

print(a,b)

result:20 10

for i in dic.items():

  print(i)

result:

(‘name‘, ‘eric‘)
(‘age‘, 18)
(‘sex‘, ‘男‘)
(‘job‘, ‘IT‘)

for k,v in dic.items():

  print(k,v)

result:

name eric
age 18
sex 男
job IT

for i in dic:

  print(i)

print(len(dic))

name
age
sex
job
4

 

python之路(字典)

原文:https://www.cnblogs.com/mingxi/p/12312056.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!