python元组(Tuple)、字典(Dictionary)详解

元组定义

元组是另一个数据类型,类似于List(列表)。
元组用”()”标识。内部元素用逗号隔开。但是元素不能二次赋值,相当于只读列表。

举例:
tuple = ( ‘abcd’, 786 , 2.23, ‘john’, 70.2 )

list = [ ‘abcd’, 786 , 2.23, ‘john’, 70.2 ]

tuple[2] = 1000 # 元组中是非法应用

list[2] = 1000 # 列表中是合法应用

print tuple * 2 # 输出元组两次

字典定义

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。

列表与字典之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用”{ }”标识。字典由索引(key)和它对应的值value组成。
{key1:value1, key2:value2, …,keyN:valueN}
字典也被称作关联数组或哈希表。

字典两个注意事项:
1、字典中的键必须独一无二,但值则不必。创建时如果同一个键被赋值两次,旧值会被替换;
2、键必须不可变,可以用数字,字符串或元组充当,但是不可以用列表

创建字典

(1)工厂方法

adict = dict() 或

adict = dict(([‘x’,1],[‘y’,2]))

(2)关键字参数

adict= dict(name=’allen’,age=’40′)

(3)内建方法

L1 = [1,2,3] d.fromkeys(L1)

dict.fromkeys(L1,’over’) {1: ‘over’, 2: ‘over’, 3: ‘over’}

b={}.fromkeys((‘x’,’y’),1)

更新字典操作

adict[new_key] = value 形式添加一个项

adict[old_key] = new_value 更新一个数据项(元素)或键值对

del adict[key] 删除键key的项

del adict 删除整个字典

字典常用方法

1、adict.keys() 返回一个包含字典所有KEY的列表;

2、adict.values() 返回一个包含字典所有value的列表;

3、adict.clear() 删除字典中的所有项或元素;

4、adict.get(key, default = None) 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None);

5、adict.pop(key[,default]) 和get方法相似。如果字典中存在key,删除并返回key对应的vuale;如果key不存在,且没有给出default的值,则引发keyerror异常;

6、adict.update(bdict) 将字典bdict的键值对添加到字典adict中,无则添加,有则覆盖

举例:
adict={1:’a’,2:’b’,3:’c’}
bdict={1:’aa’,5:’ccc’,8:’66’}

adict.update(bdict)
print adict

for key in adict.keys():

print key

for value in adict.values():

print value

for key,value in adict.items():

print str(key)+':'+str(value)

你可能感兴趣的:(python)