python之字典和集合

字典

字典的创建

>>> a = {'one': 1, 'two': 2, 'three': 3}
>>> b = dict(one=1, two=2, three=3)
>>> c = dict([('two', 2), ('one', 1), ('three', 3)])
>>> a == b == c
True
>>> d = {}.fromkeys(('x', 'y'), 1)
>>> d
{'y': 1, 'x': 1}
# 字典也可用推导式
>>> dic = {key:value for key, value in enumerate(['hello', 'world'])}
>>> dic
{0: 'hello', 1: 'world'}

访问字典中的值

d[key]
d.get(key)
d.items(), d.keys(), d.values()
d.iteritems(), d.iterkeys(), d.itervalues()
>>> 'x' in d
True

更新字典

>>> d['x'] = 2    # 更新
>>> d['z'] = 2    # 插入
>>> d2 = dict(one=1, two=2)
>>> d3 = dict(one=10, ten=100)
>>> d2.update(d3)
>>> d2
{'two': 2, 'ten': 100, 'one': 10}

删除字典元素

del d[key]
d.pop(key[, default])
d.clear()

拷贝字典

d.copy()   # 注意是浅拷贝

 

 

 

集合

集合(sets)有两种不同的类型,可变集合(set) 和 不可变集合(frozenset)。
对可变集合(set),可以添加和删除元素,对不可变集合(frozenset)则不允许这样做。

创建集合

>>> t = set("Hello")         
>>> t
set(['H', 'e', 'l', 'o'])    #注意只有一个l
>>> set([ 1, 2, 3, 4, 1, 2])
set([1, 2, 3, 4])

访问集合中的值

>>> 'H' in t
True
>>> for i in t:
        print i

集合的运算

a = t | s          # t 和 s的并集  
b = t & s          # t 和 s的交集  
c = t – s          # 求差集(项在t中,但不在s中)  
d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)

更新集合

>>> t.add('m')
>>> t
set(['H', 'm', 'e', 'l', 'o'])
>>> t.update('world')
>>> t
set(['e', 'd', 'H', 'm', 'l', 'o', 'r', 'w'])
>>> t.remove('m')
>>> t
set(['e', 'd', 'H', 'l', 'o', 'r', 'w'])
>>> t -= set('world')
>>> t
set(['e', 'H'])

 

ps:集合可用来列表去重

>>> [i for i in set([11,22,33,44,11,22])]
[33, 11, 44, 22]  

 

 

 

 2015-05-26

posted @ 2015-05-26 10:58  whu.yt  阅读(166)  评论(0编辑  收藏  举报