码迷,mamicode.com
首页 > 其他好文 > 详细

字典常用的方法(内建函数)

时间:2017-10-24 20:46:22      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:erro   log   判断   efault   相同   返回值   创建   rac   info   

序号   函数 功能                                               
1 clear()  
2 copy()  
3 fromkeys()  
4 dict()  
5 get()  
6 item()  
7 pop()  
8 popitem()  
9 hash()  
10 keys()  
11 values()  
12 update()  
13 setdefault()  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.clear():清楚字符串中的所有项,这是一个原地操作,没有返回值。

>>> info = {name:kebi,age:28}
>>> info.clear()
>>> info
{}

2.copy方法返回一个具有相同键值对的新字典。新开辟了一个内存空间。

>>> info = {name:kebi,age:28}
>>> INFO = info.copy()
>>> INFO
{name: kebi, age: 28}
>>> id(info)
2410872824456   #内存地址不一样
>>> id(INFO)
2410871941304

3.fromkeys:使用给定的键创建一个新的字典,每个键都对应一个默认的None。

>>> {}.fromkeys([name,age])
{name: None, age: None}

>>> fromkeys([name,age]) #首先需要建立一个新的字典
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name fromkeys is not defined

>>> dict.fromkeys([name,age])   #也可以使用dict
{name: None, age: None}

>>> dict.fromkeys([name,age],unknow)
{name: unknow, age: unknow}
>>> {}.fromkeys(LOVE)     #可以作用于字符串
{L: None, O: None, V: None, E: None}
>>> {}.fromkeys((name,age)) #可以作用于元祖
{name: None, age: None}

 

4.get():访问字典,即使键不存在,也不会报错,会返回None

>>> info
{name: kebi, age: 28}

>>> info.get(name)
kebi

>>> print(info.get(sex))
None

5.item():将字典中的所有项以列表方式返回。

>>> info.items()
dict_items([(name, kebi), (age, 28)])

6.pop():获得对应于给定键的值,然后将这个键值对从字典中移除。

>>> info
{name: kebi, age: 28}
>>> info.pop(age)
28
>>> info
{name: kebi}

7.popitem():随机弹出字典中最后一个键值对,并将其移除。

>>> info = {name:kebi,age:25,six:women}
>>> info.popitem()     #弹出最后一个
(six, women)
>>> info.pop()
>>> info
{name: kebi, age: 25}
>>> info.popitem()         
(age, 25)

 8.hash():hash函数并不是专门为字典设计的方法,但是可以判断某个对象是否可以作为字典的键。

     将一个对象作为参数传给hash(),会返回这个对象的hash值。只有这个对象是可hash的,才可作为字典的键。

     如果将非可hash的对象作为参数传递给hash()方法,会产生TypeError错误。

>>> hash(name)
7578313563306818018  #可hash

>>> hash({})
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: dict     #不可hash

9.keys():返回一个包含字典中所有键的列表。

>>> dict2
{name: value, age: 25}

>>> dict2.keys()
dict_keys([name, age])

10.values():返回一个包含字典中所有值的列表。

>>> dict2
{name: value, age: 25, abc: 123}

>>> dict2.values()
dict_values([value, 25, 123])

11.update():将另一个字典中的键值对添加到本字典中。

>>> dict5 = {name:kebi,age:25}
>>> dict6 = {sex:man,Like:women}

>>> dict5.update(dict6)
>>> dict5
{name: kebi, age: 25, sex: man, Like: women}

12.setdefault():与get方法类似,返回字典中某个键的值,如果有则返回,如果没有,会默认添加键以及值。

>>> dict7 = {name:kebi,age:25}
>>> dict7.setdefault(name)
kebi

>>> dict7.setdefault(sex)
>>> dict7
{name: kebi, age: 25, sex: None}  #没有自己添加

>>> dict7.setdefault(Like,women)      #也可以作为添加元素的方法
women
>>> dict7
{name: kebi, age: 25, sex: None, Like: women}

13.dict():可以通过映射其他序列建立字典。

>>> info = [(name,kebi),(age,25)]
>>> dict(info)
{name: kebi, age: 25}

>>> dict(name=kebi,age=25)  #name和age是键,不能加引号
{name: kebi, age: 25}

 

字典常用的方法(内建函数)

标签:erro   log   判断   efault   相同   返回值   创建   rac   info   

原文地址:http://www.cnblogs.com/yangmingxianshen/p/7704674.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!