python dict 字典金沙官网线上

简介 
Python 字典 update() 方法用于更新字典中的键/值对,可以修改存在的键对应的值,也可以添加新的键/值对到字典中。

字典是通过hash表的原理实现的,每个元素都是一个键值对,通过元素的键计算出一个唯一的哈希值,这个hash值决定了元素的地址,因此为了保证元素地址不一样,必须保证每个元素的键和对应的hash值是完全不同的,并且键的类型必须是不可修改的,所以键的类型可以使数值,字符串常量或元组,但不能是列表,因为列表是可以被修改的。

语法 
d.update(e)

所以字典具有下列特性:

参数说明 
将e中键-值对添加到字典d中,e可能是字典,也可能是键-值对序列。详见实例。

1、元素的查询和插入操作很快,基本上是常数级别

返回值 
该方法没有任何返回值。

2、占用内存较大,采用的是空间换时间的方法

实例 
以下实例展示了 update() 方法的使用方法:

 

d = {‘one’:1,’two’:2}

参考地址:http://www.cnblogs.com/xianwang/p/4970448.html

d.update({‘three’:3,’four’:4}) # 传一个字典 
print(d)

 

d.update(five=5,six=6) # 传关键字 
print(d)

字典的初始化

d.update([(‘seven’,7),(‘eight’,8)]) # 传一个包含一个或多个元组的列表 
print(d)

下面的方法都是等价的

d.update(([‘nice’,9],[‘ten’,10])) # 传一个包含一个或多个列表的元组 
print(d)

d={'a':1, 'b':2, 'c':3}

d.update(zip([‘eleven’,’twelve’],[11,12])) # 传一个zip()函数 
print(d)

d=dict({'a':1, 'b':2, 'c':3})

d.update(one=111,two=222) # 使用以上任意方法修改存在的键对应的值 
print(d)

d = dict([('a',1), ('b', 2), ('c', 3)])

以上实例输出结果为:

d = dict(a=1, b=2, c=3)

{‘one’: 1, ‘four’: 4, ‘three’: 3, ‘two’: 2} 
{‘one’: 1, ‘four’: 4, ‘three’: 3, ‘five’: 5, ‘two’: 2, ‘six’: 6} 
{‘seven’: 7, ‘one’: 1, ‘four’: 4, ‘three’: 3, ‘five’: 5, ‘two’: 2, ‘six’: 6, ‘eight’: 8} 
{‘seven’: 7, ‘one’: 1, ‘four’: 4, ‘three’: 3, ‘ten’: 10, ‘five’: 5, ‘nice’: 9, ‘two’: 2, ‘six’: 6, ‘eight’: 8} 
{‘one’: 1, ‘four’: 4, ‘three’: 3, ‘twelve’: 12, ‘ten’: 10, ‘seven’: 7, ‘six’: 6, ‘eleven’: 11, ‘two’: 2, ‘nice’: 9, ‘five’: 5, ‘eight’: 8} 
{‘one’: 111, ‘four’: 4, ‘three’: 3, ‘twelve’: 12, ‘ten’: 10, ‘seven’: 7, ‘six’: 6, ‘eleven’: 11, ‘two’: 222, ‘nice’: 9, ‘five’: 5, ‘eight’: 8}

d = dict(zip(['a', 'b', 'c'], [1,2,3]))#这个方法也可以用作将两个列表合并成一个字典

 

赋值元素

1、e = d#引用赋值,e、d始终是一样的

2、e = d.copy()#值赋值,二者是没有关联的

3、d.copy()是一个浅拷贝,当键值对的值遇到字典或者列表时,字典或列表还会随着原来的变化而变化,此时的值相当于元组或列表的引用或指针,而不是其本身,指向的元组或列表其实还是原来的。使用copy模块的deepcopy()方法可以避免这种情况。

import copy

dict1 = {'a': [1, 2], 'b': 3}
dict2 = dict1
dict3 = dict1.copy()
dict4 = copy.deepcopy(dict1)

dict1['b'] = 'change'
dict1['a'].append('change')

print dict1  # {'a': [1, 2, 'change'], 'b': 'change'}
print dict2  # {'a': [1, 2, 'change'], 'b': 'change'}
print dict3  # {'a': [1, 2, 'change'], 'b': 3}
print dict4  # {'a': [1, 2], 'b': 3}

金沙官网线上, 

增加元素

1、d['d'] = 4#直接通过下标添加,如果该键值已存在,那就是修改元素了,当然也可以访问元素

 

删除元素

1、d.clear()#删除d中的所有元素

2、d.pop('a')#删除键值为‘a’的元素

3、del d['a']#删除键值为‘a’的元素

 

遍历元素

for k in d:

  print 'd[%s]=' % k,d[k]

本文由金沙官网线上发布于编程,转载请注明出处:python dict 字典金沙官网线上

您可能还会对下面的文章感兴趣: