1.Python的字典在有些地方称为哈希(hash),有些地方称为关系数组。映射类型:字典由“键”和“值”共同构成,每一对键值组合称为“项”。键必须独一无二,但值则不必。值可以取任何数据类型,键必须是不可变的,如字符串、数或元组。如下创建的字典都是一样的。
>>> a = dict(one=1, two=2, three=3)
>>> b = {'one': 1, 'two': 2, 'three': 3}
>>> c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))
>>> d = dict([('two', 2), ('one', 1), ('three', 3)])
>>> e = dict({'three': 3, 'one': 1, 'two': 2})
>>> a == b == c == d == e
# True
2.有别于序列,字典是不支持拼接和重复操作的。一些内置方法:1)fromkeys(seq[, value]) 。2)keys()用于返回字典中 的键,values()用于返回字典中所有的值,那么,items()当然就是返回字 典中所有的键值对(也就是项)。3)get(key[, default])。 4)in或not in. 5)clear() . 6)copy(),注意是浅拷贝。7)pop(key[, default])和popitem() 8)setdefault(key[, default]) 9)update([other])
>>> pets = {"米奇":"老鼠", "汤姆":"猫", "小白":"猪"}
>>> pets.update(小白 = "狗") #注意不能写成 “小白” = “狗”
>>> pets
#{'米奇': '老鼠', '汤姆': '猫', '小白': '狗'}
3.收集参数其实有两种打包形式:一种是以元组的形式打包;另一种 则是以字典的形式打包。
def test(**params):
print("有 %d 个参数" % len(params))
print("他们分别是: ",params )
test(a=1, b=2, c=3, d=4, e=5)
#打包
#有 5 个参数
#他们分别是: {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
>>> a = {"one":1, "two":2, "three":3}
>>> test(**a)
#解包
#有 3 个参数
#他们分别是: {'one': 1, 'two': 2, 'three': 3}
4.集合在Python中的最大特点就是两个字:唯一。但要注意的是,集合是无序的,也就是不能试图去索引集合中的某一个元素。可以使用迭代把集合中的数据一个个读取出来。使用add()方法可以为集合添加元素,使用remove()方法可以删除集 合中已知的元素。
有时候希望集合中的数据具有稳定性,也就是说,像元组一样,不能随意地增加或删除集合中的元素。那么可以定义成不可变集合,这里 使用的是frozenset()函数,就是把元素给frozen(冰冻)起来。



