Python3.2官方文档教程---Set集合


写在前面:

已经连续翻译python3.2官方文档好长时间,今晚第一次翻译的文章被网友阅读上千次,激动不已,在此特别谢谢各位网友。看到大家的捧场,兴奋得有点失眠,所以顺便把set集合也翻译了,最后在谢谢各位网友,翻译不当之处请吐槽。


3.4 Set集合

Python还包含一个集合的数据类型。一个Set 是一个不包含重复元素的无序集合。基本应用是成员资格测试和消除重复元素。 Set对象也提供一些算术操作符,比如连接,交集,差值和堆成差。

花括号或set()方法都可以用来创建集合。 注意如果你想要创建一个空集合,必须要用set()而不能用{}。 后者创建了一个空字典,空字典我们将在下一节讨论。

对于集合的使用在这里做一简单示范:

>>> basket = {’apple’, ’orange’, ’apple’, ’pear’, ’orange’, ’banana’}

>>> print(basket) # show that duplicates have been removed #显示除去重复元素

{’orange’, ’banana’, ’pear’, ’apple’}

>>> ’orange’ in basket # fast membership testing #快速成员检测

True

>>> ’crabgrass’ in basket

False

>>> # 展示通过set操作从两个词中获得唯一的字母

...

>>> a = set(’abracadabra’)

>>> b = set(’alacazam’)

>>> a # unique letters in a 在a中唯一字母

{’a’, ’r’, ’b’, ’c’, ’d’}

>>> a - b # letters in a but not in b 在a中但不在b中

{’r’, ’d’, ’b’}

>>> a | b # letters in either a or b 在a或b中

{’a’, ’c’, ’r’, ’d’, ’b’, ’m’, ’z’, ’l’}

>>> a & b # letters in both a and b 在a且在b中

{’a’, ’c’}

>>> a ^ b # letters in a or b but not both 在a或在b中,但不同时在两者中

{’r’, ’d’, ’b’, ’m’, ’z’, ’l’}

Like for lists, there is a set comprehension syntax:

像列表一样,集合也有“理解语法”。

>>> a = {x for x in ’abracadabra’ if x not in ’abc’}

>>> a

{’r’, ’d’}

评论关闭