python 集合运算
集合类型操作符(所有的集合类型)
联合( | )
联合(union)操作和集合的OR(又称可兼析取(inclusive
disjunction))其实是等价的,两个集
合的联合是一个新集合,该集合中的每个元素都至少是其中一个集合的成员,即,属于两个集合其
中
之一的成员。联合符号有一个等价的方法,union().
Edit By Vheavens
Edit By Vheavens
>>>
s | t
set(['c', 'b', 'e', 'h', 'k', 'o', 'p', 's'])
交集( & )
你
可以把交集操作比做集合的AND(或合取)操作。两个集合的交集是一个新集合,该集合中的每
个元素同时是两个集合中的成员,即,属于两个集合的成
员。交集符号有一个等价的方法,
intersection().
>>> s & t
set(['h',
's', 'o', 'p']
差补/相对补集( � )
两个集合(s
和t)的差补或相对补集是指一个集合C,该集合中的元素,只属于集合s,而不属
于集合t。差符号有一个等价的方法,difference().
>>>
s - t
set(['c', 'e'])
对称差分( ^ )
和其他的布尔集合操作相似,对称差分是集合的XOR(又称"异
或" (exclusive disjunction)).
两个集合(s
和t)的对称差分是指另外一个集合C,该集合中的元素,只能是属于集合s 或者集合t
的成员,不能同时属于两个集合。对称差分有一个等价的方
法,symmetric_difference().
>>> s ^ t
set(['k', 'b', 'e',
'c'])
混合集合类型操作
上面的示例中,左边的s 是可变集合,而右边的t 是一个不可变集合. 注意上面使用集合操作
运算符
所产生的仍然是可变集合,但是如果左右操作数的顺序反过来,结果就不一样了:
>>> t | s
frozenset(['c',
'b', 'e', 'h', 'k', 'o', 'p', 's'])
>>> t ^ s
frozenset(['c',
'b', 'e', 'k'])
>>> t - s frozenset(['k', 'b'])
如果左右两个操作
数的类型相同,既都是可变集合或不可变集合, 则所产生的结果类型是相同
的,但如果左右两个操作数的类型不相同(左操作数是set,右操作数是
frozenset,或相反情况),
Edit By Vheavens
Edit By Vheavens
则所产生的结果类型与左
操作数的类型相同,上例中可以证明这一点。还要注意,加号不是集合类
型的运算符:
>>> v = s + t
Traceback
(most recent call last):
File "<stdin>", line 1, in ?
TypeError:
unsupported operand type(s) for +: 'set' and 'set
相关文档:
创建列表
sample_list = ['a',1,('a','b')]
Python 列表操作
sample_list = ['a','b',0,1,3]
得到列表中的某一个值
value_start = sample_list[0]
end_value =
sample_list[-1]
删除列表的第一个值
del sample_list[0]
在列表中插入一个值
sample_list[0:0] = ['sample value']
得到列表的长度
list_length = ......
列表方法:
方法
说明
append( item )
在列表末尾插入(item )
count( element )
返回element在列表中出现的次数
extend( newlist )
将newlist的元素插入列表末尾
index( element )
返回element在列表中的索引,如果不存在,则引发ValueError异常
insert( index , item )
在index ......
Python中Range和XRange的区别(Difference between Range and XRange in Python)
最近机器出了点问题,所以一直没有写新的东西出来。之前在读Python的代码的时候,发觉好多人喜欢用XRange,而不是Range,我也只是记得学习的时候开始学到的是Range,后面又看到有个XRange,当时也没有深究,为什么Python里面要有两个同样的功 ......
软件准备:
1.eclipse开发包,下载地址:http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/SR2/eclipse-java-galileo-SR2-win32.zip
2.pydev插件,下载地址:http://sourceforge.net/projects/pydev/files/pydev/Pydev%201.5.4/org.python.pydev.feature-1.5.4.2010011921 ......