4.1. 字典方法

1、clear

清除字典中所有的项。

>>> x = {}

>>> y = x

>>> x[‘key‘] =
‘value‘

>>> y                        #共享X的内容

{‘key‘: ‘value‘}

>>> x.clear()          #如果用 x={ }置空,y的内容不会消失

>>> y

{}

2、copy

返回一个具有相同键--值对的新字典(浅复制 shallow
copy,值的本身是相同的,但不是副本)

>>> x = {‘username‘:‘admin‘,‘machines‘:[‘foo‘,‘bar‘,‘baz‘]}

>>> y =
x.copy()

>>>
y[‘username‘] = ‘mlh‘

>>>
y[‘machines‘].remove(‘bar‘)

>>> y

{‘username‘: ‘mlh‘, ‘machines‘: [‘foo‘, ‘baz‘]}

>>> x

{‘username‘:
‘admin‘, ‘machines‘: [‘foo‘, ‘baz‘]}      #移除的值变化,修改的值没变

避免这个问题可以使用深复制(deep copy)

>>> from copy
import deepcopy

>>> d = {}

>>> d[‘names‘] = [‘Alfred‘,‘Bertrand‘]

>>> c =
d.copy()

>>> dc =
deepcopy(d)

>>> d[‘names‘].append(‘Clive‘)

>>> c

{‘names‘: [‘Alfred‘, ‘Bertrand‘, ‘Clive‘]}

>>> dc

{‘names‘: [‘Alfred‘, ‘Bertrand‘]}

3、fromkeys

使用给定的键建立新的字典,每个键默认对应的值为None

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

{‘age‘: None, ‘name‘:
None}

>>>
dict.fromkeys([‘name‘,‘age‘])

{‘age‘: None, ‘name‘:
None}

>>> dict.fromkeys([‘name‘,‘age‘],‘(unknown)‘)     
# 指定值

{‘age‘: ‘(unknown)‘,
‘name‘: ‘(unknown)‘}

4、get

访问字典项的方法(当项不存在时不会报错)

>>> d = {}

>>> print d.get(‘name‘)    # 空字典,返回一个None

None

>>>
d.get(‘name‘,‘N/A‘)

‘N/A‘

>>> d[‘name‘]
= ‘Eric‘

>>>
d.get(‘name‘)

‘Eric‘

5、has_key

检查字典中是否含有给出的键 (3.0中没有这个函数了)

>>> d = {}

>>>
d.has_key(‘name‘)

False

>>> d[‘name‘]
= ‘Eric‘

>>>
d.has_key(‘name‘)

True

6、items 和 iteritems

items 方法将所有的字典项以列表方式返回

>>> d = {‘title‘:‘python web
site‘,‘url‘:‘http://www.python.org‘, ‘spam‘:0 }

>>> d.items()

[(‘url‘, ‘http://www.python.org‘), (‘spam‘, 0), (‘title‘, ‘python web
site‘)]     # 键-值没有顺序

iteritems 和上面效果类似,但返回一个迭代器对象

>>> it =
d.iteritems()

>>> it

<dictionary-itemiterator object at 0xb73212fc>   
# 对象

>>> list(it)

[(‘url‘, ‘http://www.python.org‘), (‘spam‘, 0),
(‘title‘, ‘python web site‘)]

7、keys 和 iterkeys

keys方法将字典中的键以列表形式返回,而iterkeys则返回针对键的迭代器

8、pop 和 popitem

pop方法用来获得对应也给定键的值

>>> d =
{‘x‘:‘1‘,‘y‘:‘2‘}

>>> d.pop(‘x‘)

‘1‘

>>> d

{‘y‘: ‘2‘}

popitem方法,类似与pop但不要带键 (注意字典没有“最后的元素”或者顺序的概念)

>>> d =
{‘x‘:‘1‘,‘y‘:‘2‘,‘z‘:‘3‘}

>>>
d.popitem()

(‘y‘, ‘2‘)

>>> d

{‘x‘: ‘1‘, ‘z‘: ‘3‘}

9、setdefault

获得与给定键相关联的值,给不含给定键设值

>>> d = {}

>>>
d.setdefault(‘name‘,‘N/A‘)

‘N/A‘

>>> d

{‘name‘: ‘N/A‘}

>>>
d[‘name‘]=‘hello‘

>>>
d.setdefault(‘name‘,‘N/A‘)

‘hello‘

>>> d

{‘name‘: ‘hello‘}

10、update

利用一个字典更新另外一个字典

>>> d =
{‘title‘:‘python web
site‘,‘url‘:‘http://www.python.org‘,‘changed‘:‘2014-02-15‘}

>>> x =
{‘title‘:‘python language website‘}

>>>
d.update(x)

>>> d

{‘url‘: ‘http://www.python.org‘, ‘changed‘:
‘2014-02-15‘, ‘title‘: ‘python language website‘}

11、values 和 itervalues

values
方法以列表的形式返回字典中的值,itervalues返回值的迭代器

>>> d = {}

>>> d[1] = 1

>>> d[2] = 2

>>> d[3] = 3

>>> d[4] = 1

>>> d.values()

[1, 2, 3, 1]              # 返回键的列表不同的时,返回值的列表中可以包含重复的元素

来自为知笔记(Wiz)

时间: 2024-12-28 02:27:57

4.1. 字典方法的相关文章

集合-字典 方法练习

- (void)viewDidLoad { [super viewDidLoad]; //用一个或多个键值对初始化一个字典对象,以值,键,值,键,值,键,...,nil的顺序 NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:@1,@"key1",@2,@"key2",@3,@"key3" ,nil]; NSLog(@"dict:%@",dict

Python字典方法copy()和deepcopy()的区别

1 from copy import deepcopy # import deepcopy模块 2 d = {} 3 d['name'] = ['black', 'guts'] # d = {'name': ['black', 'guts']} 4 c = d.copy() # c = {'name': ['black', 'guts']} 5 dc = deepcopy(d) # dc = {'name': ['black', 'guts']} 6 d['name'].append('whit

python字典-字典方法

有 3 个字典方法,它们将返回类似列表的值,分别对应于字典的键.值和键-值对: keys().values()和 items().这些方法返回的值不是真正的列表,它们不能被修改,没有 append()方法.但这些数据类型(分别是 dict_keys.dict_values 和 dict_items)可以用于 for 循环.为了看看这些方法的工作原理,请在交互式环境中输入以下代码: 原文地址:https://www.cnblogs.com/dingkailinux/p/8216087.html

python3字典方法统计

1.key() 官方说明: def keys(self): # real signature unknown; restored from __doc__ """ D.keys() -> a set-like object providing a view on D's keys """ pass 描述:取出字典中所有的键 参数:无 返回值:返回这个字典所有的键 示例: d = {'name':'william','age':30,'sex

Python字典方法

0x01 clear clear方法清除字典中所有的项.这是一个原地操作,无返回值 1 >>> d = {} 2 >>> d['name'] = 'Gumby' 3 >>> d['age'] = 13 4 >>> d 5 {'age': 13, 'name': 'Gumby'} 6 >>> value = d.clear 7 >>> print value 8 <built-in method

Python中的字典方法

1.clear clear方法清除字典中的所有项.无返回值 d = {'age' : 42, 'name':'Gumby'} d.clear()>>> d{} 2.copy copy方法返回一个具有相同键-值对的新字典 d = {'age' : 42, 'name' : 'Gumby'} b = d.copy()>>> b{'age' : 42, 'name' : 'Gumby'} 3.fromkeys fromkeys方法使用键值组成的序列创建新的字典,每个键值默认对

Python字典方法总结

1.清空字典中元素清空,dict变为{} L.clear()-> None.  Remove all items from L >>> L ={'shaw':23,'sam':36,"eric":40} >>> L.clear() >>> print L {} 2.返回一个字典的浅复制 L.copy()-> a shallow copy of L >>> L ={'shaw':23,'sam':36,&

Python字符串、列表、元组、集合、字典方法

列表list 1.L.append(object) -> None 在列表末尾添加单个元素,任何类型都可以,包括列表或元组等 2.L.extend(iterable) -> None 以序列的形式,在列表末尾添加多个元素 3.L.insert(index, object) -> None 在index位置处添加一个元素 4.L.clear() -> None 清除列表所有元素,成为空列表 5.L.copy() -> list 获得一个列表副本 6.L.count(A) -&g

字典方法(3)

我们今天要继续来讲一下字典的方法.我们今天要讲的是popitem,setfault,update和values. 我们先来看一下popitem这个方法,popitem这个方法主要就是随机输出一个字典项,并且把该项删除掉.为什么是随机的?因为字典项是没有任何顺序的.我们来看一下示例代码: x = {'Tom':'123','Jane':'456','Pony':'789'} x.popitem() #按回车,得到的结果是:('Pony', '789') x #按回车,得到的结果是:{'Tom':