当前位置:首页 > Python教程 > python技巧

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}
        

访问字典中的值

            
                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

原文:http://www.cnblogs.com/whuyt/p/4530056.html


【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐