+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2020-03(56)

2020-04(60)

2020-05(24)

2020-06(39)

2020-07(23)

5. 基本数据结构-集合

发布于2020-01-01 13:32     阅读(204)     评论(0)     点赞(29)     收藏(1)


0

1

2

3

4

5

6

7

8

一、集合定义

​ 集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

二、集合操作

1. 创建空集合

1. set_test = {1,2,3,4,5}
2. set()

2. 集合操作

basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
print(basket)
>>>{'orange', 'banana', 'pear', 'apple'}

a = set('abracadabra')
print(a)
>>>{'b', 'a', 'd', 'r', 'c'}
b = set('alacazam')
>>>{'m', 'z', 'a', 'l', 'c'}

1. 集合a中包含而集合b中不包含的元素
    a-b
    >>>{'r', 'd', 'b'}
    
2. 集合a或b中包含的所有元素
    a | b
    >>>{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
    
3. 集合a和b中都包含了的元素
    a & b
    >>>{'a', 'c'}
 
4. 不同时包含于a和b的元素
    a ^ b
    >>>{'r', 'd', 'b', 'm', 'z', 'l'}
1. difference() - 差集
    x = {"apple", "banana", "cherry"}
    y = {"google", "microsoft", "apple"}
    z = x.difference(y) 
    >>>{'cherry', 'banana'}
   
2. intersection() - 交集
    x = {"apple", "banana", "cherry"}
    y = {"google", "runoob", "apple"} 
    z = x.intersection(y) 
    >>>{'apple'}
    
    x = {"a", "b", "c"}
    y = {"c", "d", "e"}
    z = {"f", "g", "c"}
    result = x.intersection(y, z)
    >>>{"c"}
    
3. union() - 并集
    x = {"apple", "banana", "cherry"}
    y = {"google", "runoob", "apple"}
    z = x.union(y) 
    >>>{'cherry', 'runoob', 'google', 'banana', 'apple'}
1. 添加元素 add/update
    >>>thisset = set(("Google", "Runoob", "Taobao"))
    >>> thisset.add("Facebook")
    >>> print(thisset)
    {'Taobao', 'Facebook', 'Google', 'Runoob'}
    
    >>>thisset = set(("Google", "Runoob", "Taobao"))
    >>> thisset.update({1,3})
    >>> print(thisset)
    {1, 3, 'Google', 'Taobao', 'Runoob'}
    >>> thisset.update([1,4],[5,6])  
    >>> print(thisset)
    {1, 3, 4, 5, 6, 'Google', 'Taobao', 'Runoob'}
    
2. 移除元素
    >>>thisset = set(("Google", "Runoob", "Taobao"))
    >>> thisset.remove("Taobao")
    >>> print(thisset)
    {'Google', 'Runoob'}
    >>> thisset.remove("Facebook")   # 不存在会发生错误
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    KeyError: 'Facebook'
        
    >>>thisset = set(("Google", "Runoob", "Taobao", "Facebook"))
    >>> thisset.pop()
    'Facebook'

0

1

2

3

4

5

6

7



所属网站分类: 技术文章 > 博客

作者:9384vfnv

链接: https://www.pythonheidong.com/blog/article/198585/bbe2a45c724131646c56/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

29 0
收藏该文
已收藏

评论内容:(最多支持255个字符)