Python字典的小析(增删改查)
2021-06-22 05:04
标签:pre tde 判断 字典元素 含义 seq 结合 用法 间接 作为Python的初学者,难免会为了一两个小问题找资料,然而一找资料,发现Python关于字典这方面的解析很少,我在此稍稍解析一下字典的用法和含义,若有不足,望大家批评。(在这我直接以代码形式为大家解析) 先来讲讲我对字典的理解吧 简单粗暴,字典就是键值对,而且是无序的,可控的键值对,并且python中字典可以嵌套字典 创建一个薪字典,参数seq中的元素作为key,参数x作为values,若无参数x则默认为None * seq为元组 关于字典的创建方法就写这么多了,还有些比较奇葩的,基本不会用到的,我就不一一列举出来了,以免颠覆各位三观。。 至于遍历字典什么的,就是循环,循环大致都相通,在这就不说了,希望我写的这五点,能对各位读者有帮助,谢谢观看。 Python字典的小析(增删改查) 标签:pre tde 判断 字典元素 含义 seq 结合 用法 间接 原文地址:https://www.cnblogs.com/FCTEY/p/9680227.html一、字典的创建
1、传统的文字表达式
a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
2、动态分配(也可以用于给字典添加新的键值对)
b={}
b[‘name’]=’Tom’
b[‘age’]=20
b[‘job’]=’Student’
print b
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
这也可以用于给字典添加新的键值对
b={}
b[‘name’]=’Tom’
b[‘age’]=20
b[‘job’]=’Student’
print b
print ‘添加后’.center(50,’-’)
b[‘friend’]=’Sam’
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
------------------------添加后------------------------
{‘friend’:’Sam’,‘name’:’Tom’,’age’:20,’job’:’Student’}
3、Dict函数创建
c=dict(name=’Tom’,age=20,job=’Student’)
print c
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
还有用键-值对的列表建立
c=[(‘name’,’Tom’),(‘age’,20),(‘job’,’Student’)]
d=dict(c)
print d
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
若dict()函数创建不带任何参数,则会返回一个空字典
d=dict()
print d
>>>
{}
4、fromkeys()方法-------fromkeys(seq,values)
ss=(‘name’,’age’,’job’)
f=d.fromkeys(ss,’Tom’)
g=d.fromkeys(ss)
print f
print ‘无参数x,values默认为None’.center(50,’*’)
print g
>>>
{‘name’:’Tom’,’age’:’Tom’,’job’:’Tom’}
***************无参数x,values默认为None***************
{‘name’:None,’age’:None,’job’:None}
5、dict与zip结合创建
h=dict(zip(‘abc’,[1,2,3]))
print h
>>>
{‘a’:1,’c’:3,’’b’:2}
6、推导式创建
I={a:2*a for a in range(3)}
Print i
>>>
{0:0,1:2,2:4}
还可以这样
i={k:v for (k,v) in zip([‘a’,’b’],[1,2])}
Print i
>>>
{‘a’:1,‘b’:2}
7、其他
list=[‘x’,1,’y’,2,’z’,3]
dic=dict(zip(list[::2],list[1::2]))
print dic
{‘y’:2,’z’:3,’x’:1}
二、给字典添加新元素(写的不全面,望各位小察)
1、直接添加
a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘添加新元素friend’.center(20,’-’)
a[‘friend’]=’Sam’
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
-----------添加新元素friend----------
{‘name’:’Tom’,’age’:20,’job’:’Student’,’friend’:’Sam’}
2、setdefault(key,value)方法
a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘添加新元素friend’.center(20,’-’)
a.setdefault(‘friend’,’Sam’) #若value为空,则默认为None
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
-----------添加新元素friend----------
{‘name’:’Tom’,’age’:20,’job’:’Student’,’friend’:’Sam’}
3、update(dict)方法
这方法我称为‘更新’,是用一个新的字典,覆盖以及添加数据到一个老的字典
a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘添加新元素friend’.center(20,’-’)
b={‘friend’:’Sam’,’age’:21}
a.update(b)
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
-----------添加新元素friend----------
{‘name’:’Tom’,’age’:21,’job’:’Student’,’friend’:’Sam’}
也可以这样,偶然间看到的。。。emmm。。。
a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘添加新元素friend’.center(20,’-’)
a.update(b=2)
print a
{‘name’:’Tom’,’b’:2,’age’:21,’job’:’Student’,’friend’:’Sam’}
三、删除字典中的元素
1、使用del函数---万能删
a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘ ’.center(50,’-’)
del a[‘job’]
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
------------------------------------------ --------------------------------------------
{‘name’:’Tom’,’age’:20 }
2、pop()方法---指定删
a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘ ’.center(50,’-’)
a.pop(‘job’)
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
------------------------------------------ --------------------------------------------
{‘name’:’Tom’,’age’:20 }
3、popitem()----随机删
a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘ ’.center(50,’-’)
a.popitem() #随机删,数据少时不易发现
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
------------------------------------------ --------------------------------------------
{‘name’:’Tom’,’age’:20 }
4、clear()---清除
a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘ ’.center(50,’-’)
a.clear()
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
------------------------------------------ --------------------------------------------
{}
四、修改字典里的元素
1、直接修改(同添加方法1.直接添加)
a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘ ’.center(50,’-’)
a[‘name’]=’superme’
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
------------------------------------------ --------------------------------------------
{‘name’:’superme,’age’:20,’job’:’Student’}
2、update()----更新
a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘ ’.center(50,’-’)
a.update({‘name’:’superme’})
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
------------------------------------------ --------------------------------------------
{‘name’:’superme’,’age’:20,’job’:’Student’}
3、间接修改key的值
a={‘name’:’Tom’,’age’:20,’job’:’Student’}
print a
print ‘ ’.center(50,’-’)
a[‘friend’]=a.pop[‘name’]
print a
>>>
{‘name’:’Tom’,’age’:20,’job’:’Student’}
------------------------------------------ --------------------------------------------
{‘friend’:’Tom’,’age’:20,’job’:’Student’}
五、获取字典元素
1、直接获取(若key不存在,会报错)
a={‘name’:’Tom’,’age’:20}
print a
print ‘ ’.center(50,’-’)
print a[‘name’]
>>>
{‘name’:’Tom’,’age’:20}
------------------------------------------ --------------------------------------------
Tom
2、get()------若key不存在,返回None
a={‘name’:’Tom’,’age’:20}
print a
print ‘ ’.center(50,’-’)
b=a.get(‘name’)
c=a.get(‘superme’)
print b
print c
>>>
{‘name’:’Tom’,’age’:20}
------------------------------------------ --------------------------------------------
Tom
None
3、获取元素的key或value
a={‘name’:’Tom’,’age’:20}
print a
print ‘ ’.center(50,’-’)
print a.keys()
print a.values()
>>>
{‘name’:’Tom’,’age’:20}
------------------------------------------ --------------------------------------------
Name,age
Tom,20
4、判断字典中是否含有指定key
a={‘name’:’Tom’,’age’:20}
print a
print ‘ ’.center(50,’-’)
print ‘name’ in a
>>>
{‘name’:’Tom’,’age’:20}
------------------------------------------ --------------------------------------------
True