前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 字典操作方法详解

python 字典操作方法详解

作者头像
用户7886150
修改2021-01-13 10:04:42
8410
修改2021-01-13 10:04:42
举报
文章被收录于专栏:bit哲学院

参考链接: Python字典dictionary| pop方法

字典是一种通过名字或者关键字引用的得数据结构,key 类型需要时被哈希,其键可以是数字、字符串、元组,这种结构类型也称之为映射。字典类型是Python中唯一內建的映射类型。 

注意,浮点数比较很不精确,因此千万不要用浮点数作为key! 

python字典包含了11个内置方法,具体如下: 

序 号 函数描述1clear(self) 删除字典内所有的元素2copy(self)返回一个字典的浅copy ,俗称赋值3fromkeys(*args,**kwargs)创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值4get(self,k,d=None) 返回指定键的值,如果值不在字典中返回default值5items(self)以列表返回可遍历的(键, 值) 元组数组6keys(self) 以列表返回一个字典所有的键7pop(self,k,d=None) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值8popitem(self) 随机返回并删除字典中的一对键和值9setdefault(self,k,d=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default10update(self,E=None,**F) 把self的东西更新到外面字典11values(self) 以列表返回字典中的所有值

 具体举例子解释如下: 

1,字典的键不能是list类型: 

list = [1,2,3,4]

info2 = {list:'number'}

'''

想要学习Python?Python学习交流群:973783996满足你的需求,资料都已经上传群文件,可以自行下载!

'''

结果:

Traceback (most recent call last):

  File "D:/字典.py", line 2, in <module>

    info2 = {list:'number'}

TypeError: unhashable type: 'list' 

2,list/set/dict 均不可被哈希  ,int、float、str、tuple:是可以哈希的 

1 list.__hash__;

    #结果为None

2 set.__hash__;

    #结果为None

3 dict.__hash__;

    #结果为None

4 print(int.__hash__);

    # <slot wrapper '__hash__' of 'int' objects>

5 print(float.__hash__);

    #<slot wrapper '__hash__' of 'float' objects>

6 print(str.__hash__); 

    #<slot wrapper '__hash__' of 'str' objects>

7 print(tuple.__hash__);

    #<slot wrapper '__hash__' of 'tuple' objects> 

3,增 

info ={'name':'jamnes','age':'32','work':'basketplayer'}

info['sex'] = 'fale'

print(info)

结果:

{'name': 'jamnes', 'age': '32', 'work': 'basketplayer', 'sex': 'fale'} 

4,删 

4-1 pop():删除指定key的键值对 

info ={'name':'jamnes','age':'32','work':'basketplayer'}

info.pop('work')

print(info)

结果:

{'name': 'jamnes', 'age': '32'} 

4-2 clear():清除所有的键值对 

info ={'name':'jamnes','age':'32','work':'basketplayer'}

info.clear()

print(info)

结果:

{} 

4-3setdefault():删除指定的元素,如果没有,则返回none 

info ={'name':'jamnes','age':'32','work':'basketplayer'}

info.setdefault('son')

print(info)

结果:

None 

5,改 

info ={'name':'jamnes','age':'32','work':'basketplayer'}

info['age']='33'

print(info)

结果:

{'name': 'jamnes', 'age': '33', 'work': 'basketplayer'} 

6,查 

6-1 get():通过给定的key,查找对应的value,如果给定的可以在字典中无,则返回None 

info ={'name':'jamnes','age':'32','work':'basketplayer'}

a =info.get('age')

print(a)

结果:

32 

6-2 setdefault():通过给定的key,查找对应的value,如果给定的可以在字典中无,则返回None, 同时在字典中增加'test': None键值对 

info ={'name':'jamnes','age':'32','work':'basketplayer'}

a =info.setdefault('age')

print(a)

print(info)

b =info.setdefault('sex')

print(b)

print(info)

结果:

32

{'name': 'jamnes', 'age': '32', 'work': 'basketplayer'}

None

{'name': 'jamnes', 'age': '32', 'work': 'basketplayer', 'sex': None} 

7,更新 

7-1update() 

一,更新里面有的信息,就是改变<br>info ={'name':'jamnes','age':'32','work':'basketplayer'}

info2 = {'name':'wade','age':'33','work':'basketplayer'}

info.update(info2)

print(info)<br>结果:<br>{'name':'wade','age':'33','work':'basketplayer'}<br><br>二,更新里面没有的信息,就是添加 

info ={'name':'jamnes','age':'32','work':'basketplayer'}

info2 = {'honor':'3 champions'}

info.update(info2)

print(info)

结果:

{'name': 'jamnes', 'age': '32', 'work': 'basketplayer', 'honor': '3 champions'} 

 8,返回键,值,键值对 

  keys():以列表(list)返回字典中的所有键(key),字典是无序的,所以这个list返回的不是定义字典的顺序 

  values():以列表(list)返回字典中的所有值,这个list的顺序跟keys()返回的list顺序是一一对应的 

  items():以列表(list)返回可遍历的(键, 值) 元组数组,这个tuple的list包含了dictionary的所有数据 

'''

想要学习Python?Python学习交流群:973783996满足你的需求,资料都已经上传群文件,可以自行下载!

'''

dict ={'k1':'v1','k2':'v2','k3':'v3'}

#1,请循环遍历除所有的key

for keys in dict.keys():

    print(keys)

#遍历出所有的value

for value in dict.values():

    print(value)

#遍历出

for key,value in dict.items():

    print(key+':'+value)<br>#结果:<br>k1<br>k2<br>k3<br>v1<br>v2<br>v3<br>k1:v1<br>k2:v2<br>k3:v3

9,练习字典 

  dic={'k1':"v1","k2":"v2","k3":[11,22,33]} 

  a.请循环输出所有的key 

  b.请循环输出所有的value 

  c.请循环输出所有的key和value 

  d.请在字典中添加一个键值对,"k4":"v4",输出添加后的字典 

  e.请在修改字典中“k1”对应的值为“alex”,输出修改后的字典 

  f.请在k3对应的值中追加一个元素44,输出修改后的字典 

  g.请在k3对应的值的第1个位置插入个元素18,输出修改后的字典 

dic={'k1':"v1","k2":"v2","k3":[11,22,33]}

#   a.请循环输出所有的key

for i in dic :

    print(i)

for i in dic.keys():

    print(i)

#   b.请循环输出所有的value

for i in dic.values():

    print(i)

  c.请循环输出所有的key和value

for i,j in dic.items():

    print(i,j)

#   d.请在字典中添加一个键值对,"k4":"v4",输出添加后的字典

dic2 = {'k4':'v4'}

dic.update(dic2)

print(dic)

dic['k4'] = 'v4'

print(dic)

#   e.请在修改字典中“k1”对应的值为“alex”,输出修改后的字典

dic['k1'] ='alex'

print(dic)

  f.请在k3对应的值中追加一个元素44,输出修改后的字典

dic['k3'].append(44)

print(dic)

#   g.请在k3对应的值的第1个位置插入个元素18,输出修改后的字典

dic['k3'].insert(0,18)

print(dic)

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档