VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > python教程 >
  • python基础教程之Python - 集合

本站最新发布   Python从入门到精通|Python基础教程
试听地址  
https://www.xin3721.com/eschool/pythonxin3721/


复制代码
# Author: Jason Zhu
# Tool:  PyCharm 2017
# Python3.8

关于集合的使用方法
# num = {1,2,3,3,6,2,77,8,2}
# list改为set集合
name1 = ['关羽','马超','关羽','马超','孙权']
print(type(name1),'name1 >>',name1)

name1 = set(name1)
print('name1 >>',name1)
name2= set(['刘备','关羽','曹操','马超'])
print('name2 >>',name2)

# interserction(交集) 返回 name1和name2共有的元素。
print('interserction方法'.center(60,'*'))
print(name1.intersection(name2))
# 也可这么写   name1 & name2

# union(并集)
print('union方法'.center(60,'*'))
print(name1.union(name2))
# 也可这么写   name1 | name2

# difference(差集) 返回 name1在name2中没有的元素。
print('difference方法'.center(60,'*'))
print(name1.difference(name2))
# 也可这么写   name1 - name2

# issubset(子集)
print('issubset方法'.center(60,'*'))
print(name1.issubset(name2))
# 也可这么写   name1 - name2

# issuperset(父集)
print('issuperset方法'.center(60,'*'))
print(name1.issuperset(name2))

# symmetric_difference(对称差集)
print('symmetric_difference方法'.center(60,'*'))
print(name1.symmetric_difference(name2))
# 也可这么写   name1 ^ name2

# 两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
print('isdisjoint方法'.center(60,'*'))
print(name1.isdisjoint(name2))

执行结果: 

<class 'list'> name1 >> ['关羽', '马超', '关羽', '马超', '孙权']
name1 >> {'孙权', '关羽', '马超'}
name2 >> {'马超', '关羽', '曹操', '刘备'}
**********************interserction方法***********************
{'关羽', '马超'}
**************************union方法***************************
{'孙权', '曹操', '关羽', '马超', '刘备'}
************************difference方法************************
{'孙权'}
*************************issubset方法*************************
False
************************issuperset方法************************
False
*******************symmetric_difference方法*******************
{'孙权', '曹操', '刘备'}
************************isdisjoint方法************************
False


复制代码
相关教程