11

Python字典的11个方法超级详解

 4 years ago
source link: http://mp.weixin.qq.com/s?__biz=MzIzNTg3MDQyMQ%3D%3D&%3Bmid=2247486761&%3Bidx=2&%3Bsn=63de4c691e323544b824826e09875a5c
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

JrEnuqz.jpg!web

Python字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。

print(dir(dict))
['clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']

01 clear()

描述:清除字典中所有的元素,得到的是空的字典。返回值None

语法:dict.append(object)

参数:object可以添加 列表,字典,元组,集合,字符串等。

dic = {"python3":123}

print(dic.clear())

None

02 copy()

描述:返回一个字典浅拷贝的副本

语法:dict.copy()

参数:无

dict1 = {'Name': 'Xiaowuge', 'Age': 17};


dict2 = dict1.copy()

str(dict2)

"{'Name': 'Xiaowuge', 'Age': 17}"

03 fromkeys()

描述: 创建一个新字典,以序列  seq  中元素做字典的键, value  为字典所有键对应的初始值。

语法: dict . fromkeys ( seq [, value ])

参数:

  • seq -- 字典键值列表。

  • value -- 可选参数, 设置键序列(seq)的值。

seq = ('Google', 'Baidu', 'Taobao')

dict.fromkeys(seq)

{'Google': None, 'Baidu': None, 'Taobao': None}


dict.fromkeys(seq, 1)

{'Google': 1, 'Baidu': 1, 'Taobao': 1}

04 get()

描述: 返回指定键的值,如果值不在字典中返回default值

语法:dict.get(key, default=None)

参数:

  • key -- 字典中要查找的键。

  • default -- 如果指定键的值不存在时,返回该默认值。

dic = {"uiui":"ioio"}

dic.get('uiui')

'ioio'

print(dic.get("uiuiui","我是第二个参数,字典中不存在参数一中的键"))

'我是第二个参数,字典中不存在参数一中的键'


print(dic.get("uiuiui"))

None

05 items()

描述: 列表返回可遍历的(键, 值) 元组数组。

语法:dict.items()

参数:无

dict = {'name':'Alice','age':23,'address':'Hangzhou'}

dict.items()

dict_items([('name', 'Alice'), ('age', 23), ('address', 'Hangzhou')])


最终得到的是一个dict_items对象。这个对象也是一个可迭代对象,可以用iter方法将其转化为一个迭代器,其将字典的每一个键值对都转化成了元组


dic1 = iter(dict.items())

for i in dic1:

print(i)

print(type(i))

#同时进行引用循环

dict = {'name':'Alice','age':23,'address':'Hangzhou'}

for i,v in dict.items():

print(i+':'+str(v))

name:Alice

age:23

address:Hangzhou

06 keys()

描述: 以列表返回一个字典所有的键。

语法: dict . keys ()

参数:无

dict = {'name':'Alice','age':23,'address':'Hangzhou'}

dict.keys()

dict_keys(['name', 'age', 'address'])


list(dict.keys())#转换成列表

['name', 'age', 'address']

07 pop()

描述:顾名思义让字典中的某个键对应的项“离开”字典。

语法:pop(key[,default])

参数:

  • key: 要删除的键值

  • default: 如果没有 key,返回 default 值

接受两个参数,第一个参数为键,第二个参数为可选参数,如果字典中不存在第一个参数中的键,

则返回第二个参数。如果没有传入第二个参数,则抛出keyerror。

dict = {'name':'Alice','age':23,'address':'Hangzhou'}

dict.pop('age')

23

print(dict)

{'name': 'Alice', 'address': 'Hangzhou'} #age没了

08 popitem()

描述:删除字典中某一键值对,并以元组的形式返回这一键值对,返回并删除字典中的最后一对键和值。

语法:dict. popitem ()

参数:无

注意:pop 和 popitem 是字典中的删除操作。pop 是以字典的 “键” 为参数,删除指定的键 / 值对,pop 中的参数不能省略且如果删除字典中没有的键 / 值对,会报错。

dict = {'name':'Alice','age':23,'address':'Hangzhou'}

dict.popitem()

('address', 'Hangzhou')

print(dict)

{'name': 'Alice', 'age': 23}

09 setdefault()

描述: 如果键不存在于字典中,将会添加键并将值设为默认值。Python 字典 setdefault() 函数和 get()方法 类似

语法:dict.setdefault(key, default=None)

参数:

  • key -- 查找的键值。

  • default -- 键不存在时,设置的默认键值。

dict = {'name':'Alice','age':23,'address':'Hangzhou'}


dict.setdefault('name')

'Alice'


print(dict)

{'name': 'Alice', 'age': 23, 'address': 'Hangzhou'}


#身高这个键,看看有没有,没有就加进去

dict.setdefault('high',178)

178

dict

{'name': 'Alice', 'age': 23, 'address': 'Hangzhou', 'high': 17}

10 update()

描述:更新字典的键值对,将参数中字典中的键值对更新到字典中,此方法无返回值

语法:dict.update(dict)

参数:dict-- 添加到指定字典dict里的字典。

dict = {'name':'Alice','age':23,'address':'Hangzhou'}

dict.update({'age':80})

print(dict)

{'name': 'Alice', 'age': 80, 'address': 'Hangzhou'}

11 values()

描述:返回字典中所有键对应的值

语法: dict . values ()

参数:无

dict = {'name':'Alice','age':23,'address':'Hangzhou'}

dict.values()

dict_values(['Alice', 23, 'Hangzhou'])


dict = {'nick':'帅气小王子','item':'长袖短款','price':29.99,'prov':'杭州'}

dict.values()

dict_values(['帅气小王子', '长袖短款', 29.99, '杭州'])

好文章,我 在看 :heart:


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK