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

Python基础学习08

时间:2019-02-07 23:54:47      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:无法   add   16px   style   iss   rem   remove   python基础   error   

集合—set

是一个无序的不重复的元素序列。

集合的特征

  • 集合内数据无序,即无法使用索引和分片
  • 集合内部数据元素具有唯一性,可以用来排除重复数据
  • 集合内的数据,str, int, float, tuple,冰冻集合等,即内部只能放置可哈希数据

创建集合

# 创建空集合
set1 = set()
print(set1的数据类型为:,type(set1))

# 创建存在数据的集合
set2 = {1}
print(set2的数据类型为:,type(set2))
print(set2 :,set2)

# 创建多数据的集合
set3 = {1,1,1,2,3,1}        # 集合中存在3个 1
print(set3的数据类型为:,type(set3))
print(set3 :,set3)

输出结果如下:

set1的数据类型为: <class set>

set2的数据类型为: <class set>
set2 : {1}

set3的数据类型为: <class set>
set3 : {1, 1, 2, 3}

# 从结果可以看出,集合中只保留1个 1
# 感兴趣的可以多次执行,会发现set是随机保留 1 个重复数据

集合的常用方法

1、add()

    添加元素到集合中,如果元素已存在,则不进行任何操作。

set4 = {1,2,3,4}
print(set4-前 :,set4)

set4.add(1)     # 添加set4中已有元素
print(set4-后 :,set4)

set4.add(0)     # 添加set4中没有的元素
print(set4-后 :,set4)
set4-前 : {1, 2, 3, 4}
set4
-后 : {1, 2, 3, 4} set4-后 : {1, 2, 3, 4, 5}

2、update()

    添加元素,且参数可以是列表,元组,字典等

set4 = {1,2,3,4}
print(set4-前 :,set4)

set4.update({0:5})
print(set4-后-dict :,set4)

set4.update([-1,5])
print(set4-后-list :,set4)
set4-前 : {1, 2, 3, 4}
set4-后-dict : {0, 1, 2, 3, 4}
set4-后-list : {0, 1, 2, 3, 4, 5, -1}

3、remove()

    移除元素,如果元素不存在,则会发生错误

4、discard()

    移除元素,如果元素不存在,不会发生错误

5、pop()

    随机移除一个元素

set4 = {1,2,3,4,5}
print(set4-前 :,set4)

set4.remove(3)       # 移除元素 3
print(set4-后-remove :,set4)

set4.discard(1)      # 移除元素 3
print(set4-后-discard :,set4)

set4.pop()           # 随机移除某元素
print(set4-后-pop :,set4)

set4.discard(1)     # 移除集合中不存在的元素 1
print(set4-discard-后 :,set4)

set4.remove(1)       # 移除集合中不存在的元素 1
print(set4-remove-后 :,set4)
set4-前 : {1, 2, 3, 4, 5}

set4-后-remove : {1, 2, 4, 5}
set4-后-discard : {2, 4, 5}
set4-后-pop : {4, 5}

set4-discard-后 : {4, 5}

KeyError: 1    # remove方法,移除set中不存在的元素,会报错

6、intersection()

    两个集合的交集

7、difference()

    两个集合的差集

8、union()

    两个集合的并集

9、issubset()

    检查检查一个集合是否为另一个子集

set5 = {1,2,3,4,5,6}
set6 = {5,6,7,8,9}

s1 = set5.intersection(set6)    # set5 ∩ set6
print(set5 ∩ set6 =,s1)

s2 = set5.difference(set6)      # set5 - set6
print(set5 - set6 =,s2)

s3 = set5.union(set6)           # set5 ∪ set6
print(set5 ∪ set6 =,s3)

s4 = set5.issubset(set6)        # set5 是 set6的子集
print(set5 ? set6 ,s4)
set5 ∩ set6 = {5, 6}

set5 - set6 = {1, 2, 3, 4}

set5 ∪ set6 = {1, 2, 3, 4, 5, 6, 7, 8, 9}

set5 ? set6  False

集合的数学操作

set5 = {1,2,3,4,5,6}
set6 = {5,6,7,8,9}

s1 = set5 - set6
s2 = set6 - set5
s3 = set5 + set6
print(set5 :,set5) print(set6 :,set6) print(set5 - set6 :,s1) print(set6 - set5 :,s2)
set5 : {1, 2, 3, 4, 5, 6}
set6 : {5, 6, 7, 8, 9}

set5 - set6 : {1, 2, 3, 4}

set6 - set5 : {8, 9, 7}
# 从结果中可以看出,集合相减。是指减去集合的交集部分

TypeError: unsupported operand type(s) for +: ‘set‘ and ‘set‘
# 集合不能相加

 

Python基础学习08

标签:无法   add   16px   style   iss   rem   remove   python基础   error   

原文地址:https://www.cnblogs.com/wilson-5133/p/10352806.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!