一、字典(dictionary)
python内置的字典数据类型提供了关联数组的功能,实现机制是利用了散列表。内置 的len函数将返回字典中键值对的数量。del语句可以用来删除键值对,像列表类型一样,字典类型也提供了一些可以的方法(clear、copy、get、items、keys、update和values)。
>>> x = {1: "one", 2: "two"}
>>> x["first"] = "one"
>>> x[("Delorme", "Hahashen", 2000)] = (1, 2, 3)
>>> list(x.keys())
[1, 2, 'first', ('Delorme', 'Hahashen', 2000)]
>>> x[1]
'one'
>>> x[2]
'two'
>>> x.get(1,"not available")
'one'
>>> x.get(2,"not available")
'two'
>>> x.get(3,"not available")
'not available'
如上图:字典必须是不可变类型,如数值、字符串、元组。字典值可以是任何对象,包括列表和字典这种可变类型。当要访问的键的值在字典中不存在时,将会引发keyError。如果想要避免这种异常,字典方法选择可以当键在字典中不存在时返回自定义值。
一、集合(set)
集合的定义:由不同元素组成的集合,集合是一组无序排列 可hash值,可作为字典的key。集合的特性:集合的目的是将不同的值存放在一起,不同的集合间用来做关系运算,无须纠结于集合中的单个值。
(1、不同元素组成 2、无序 3、集合中的元素必须是不可变类型)
python中的集合类型是由对象组成 的无序集。如果主要关心的是对象在集合中的存在性和唯一性,可以考虑使用集合类型。集合的行为,就像是没有关联值的字典键集。
>>> x = set([1,2,3,1,3,5])
>>> x
{1, 2, 3, 5}
>>> 1 in x
True
>>> 4 in x
False
对序列型对象调用set函数,可以创建一个集合,在创建时,重复的序列成员将会被移除。关键字in可用于检查对象是否为集合的成员。
----------------------end---------------------
推荐阅读: