码迷,mamicode.com
首页 > 编程语言 > 详细

python之字典和集合

时间:2015-05-26 12:04:01      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

字典

字典的创建

>>> 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

python之字典和集合

标签:

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!