栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python内置类型集合set使用示例

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python内置类型集合set使用示例

集合类型的常用操作:

Python 3.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> s = set()
>>> s
set()
>>> type(s),len(s)
(, 0)
>>> 
>>> s = {0,1,2,3}
>>> s
{0, 1, 2, 3}
>>> type(s),len(s)
(, 4)
>>> s.add(4)
>>> s
{0, 1, 2, 3, 4}
>>> s.add(4)
>>> s
{0, 1, 2, 3, 4}
>>> s.clear()
>>> s
set()
>>> type(s),len(s)
(, 0)
>>> s = {0,1,2,3}
>>> ss = s.copy()
>>> ss is s
False
>>> id(ss), id(s)
(2589345505576, 2589345508040)
>>> ss
{0, 1, 2, 3}
>>> s
{0, 1, 2, 3}
>>> s.add(55)
>>> s
{0, 1, 2, 3, 55}
>>> ss
{0, 1, 2, 3}
>>> ss.clear()
>>> ss
set()
>>> s
{0, 1, 2, 3, 55}
>>> s.clear()
>>> ss,s
(set(), set())
>>> s = {0,1,2,3}
>>> s
{0, 1, 2, 3}
>>> s.pop()
0
>>> s
{1, 2, 3}
>>> s.pop()
1
>>> s
{2, 3}
>>> s.pop()
2
>>> s
{3}
>>> s.pop()
3
>>> s
set()
>>> s.pop()
Traceback (most recent call last):
  File "", line 1, in 
    s.pop()
KeyError: 'pop from an empty set'
>>> 
>>> 
>>> s = {0,1,2,3}
>>> s.discard(0)
>>> s
{1, 2, 3}
>>> s.discard(0)
>>> s
{1, 2, 3}
>>> s.discard(1)
>>> s
{2, 3}
>>> 
>>> s = {0,1,2,3}
>>> s.remove(0)
>>> s
{1, 2, 3}
>>> s.remove(0)
Traceback (most recent call last):
  File "", line 1, in 
    s.remove(0)
KeyError: 0
>>> s
{1, 2, 3}
>>> s.remove(3)
>>> s
{1, 2}
>>> 
>>> 
>>> s1 = {0,1,2,3}
>>> s2 = {5,6,7,8}
>>> s1.isdisjoint(s2)
True
>>> s2.isdisjoint(s1)
True
>>> 
>>> s1.add(5)
>>> s1
{0, 1, 2, 3, 5}
>>> s2
{8, 5, 6, 7}
>>> s1.isdisjoint(s2)
False
>>> s2.isdisjoint(s1)
False
>>> s1 = {0,1,2,3}
>>> s2 = set()
>>> s1.isdisjoint(s2)
True
>>> s2.isdisjoint(s1)
True
>>> type({})

>>> 
>>> type((,))
SyntaxError: invalid syntax
>>> (,)
SyntaxError: invalid syntax
>>> s2 = {5,6,7,8}
>>> s1 = {0,1,2,3}
>>> len(s1)
4
>>> len(s2)
4
>>> 5 in s1
False
>>> 1 in s1
True
>>> 5 not in s1
True
>>> 1 not in s1
False
>>> 
>>> 

集合之间子集、超集的判断方法:

Python 3.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> s1 = {0,1,2,3}
>>> s2 = {5,6,7,8}
>>> s1 == s2
False
>>> s1
{0, 1, 2, 3}
>>> s2
{8, 5, 6, 7}
>>> s2 = {0,1,2,3}
>>> s1,s2
({0, 1, 2, 3}, {0, 1, 2, 3})
>>> s1 == s2
True
>>> s2 = {5,6,7,8}
>>> s1 = {6,5,7,8}
>>> s1 == s2
True
>>> s1 <= s2, s1.issubset(s2)
(True, True)
>>> s1 >= s2, s1.issuperset(s2)
(True, True)
>>> s1,s2
({8, 5, 6, 7}, {8, 5, 6, 7})
>>> s1 < s2, s1 > s2
(False, False)
>>> 
>>> s2 = {5,6,7,8}
>>> s1 = {5,6,7}
>>> s1,s2
({5, 6, 7}, {8, 5, 6, 7})
>>> s1 == s2
False
>>> s1 <= s2, s1.issubset(s2)
(True, True)
>>> s1 >= s2, s1.issuperset(s2)
(False, False)
>>> s1 < s2, s1 > s2
(True, False)
>>> 
>>> 

集合之间求并集:

Python 3.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> s1 = {0,1,2,3}
>>> s2 = {5,6,7,8}
>>> s1,s2
({0, 1, 2, 3}, {8, 5, 6, 7})
>>> len(s1),len(s2)
(4, 4)
>>> s1 | s2
{0, 1, 2, 3, 5, 6, 7, 8}
>>> s1,s2
({0, 1, 2, 3}, {8, 5, 6, 7})
>>> s1.union(s2)
{0, 1, 2, 3, 5, 6, 7, 8}
>>> s1,s2
({0, 1, 2, 3}, {8, 5, 6, 7})
>>> s1 = {0,1,2,3,4}
>>> s2 = {4,5,6,7,8}
>>> s1,s2
({0, 1, 2, 3, 4}, {4, 5, 6, 7, 8})
>>> s1 | s2
{0, 1, 2, 3, 4, 5, 6, 7, 8}
>>> s1.union(s2)
{0, 1, 2, 3, 4, 5, 6, 7, 8}
>>> 
>>> s1,s2
({0, 1, 2, 3, 4}, {4, 5, 6, 7, 8})
>>> s1=|s2
SyntaxError: invalid syntax
>>> s1|=s2
>>> s1,s2
({0, 1, 2, 3, 4, 5, 6, 7, 8}, {4, 5, 6, 7, 8})
>>> 
>>> s1 = {0,1,2,3,4}
>>> s2 = {4,5,6,7,8}
>>> s1.update(s2)
>>> s1,s2
({0, 1, 2, 3, 4, 5, 6, 7, 8}, {4, 5, 6, 7, 8})
>>> 
>>> 
>>> 

集合之间求交集:

Python 3.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> s1 = {0,1,2,3}
>>> s2 = {5,6,7,8}
>>> s1,s2
({0, 1, 2, 3}, {8, 5, 6, 7})
>>> s1&s2
set()
>>> s1,s2
({0, 1, 2, 3}, {8, 5, 6, 7})
>>> s1.intersection(s2)
set()
>>> s1,s2
({0, 1, 2, 3}, {8, 5, 6, 7})
>>> s1&=s2
>>> s1,s2
(set(), {8, 5, 6, 7})
>>> s1 = {0,1,2,3}
>>> s2 = {5,6,7,8}
>>> s1,s2
({0, 1, 2, 3}, {8, 5, 6, 7})
>>> s1.intersection_update(s2)
>>> s1,s2
(set(), {8, 5, 6, 7})
>>> 
>>> s1 = {0,1,2,3,4,5}
>>> s2 = {3,4,5,6,7,8}
>>> s1,s2
({0, 1, 2, 3, 4, 5}, {3, 4, 5, 6, 7, 8})
>>> s1&s2
{3, 4, 5}
>>> s1,s2
({0, 1, 2, 3, 4, 5}, {3, 4, 5, 6, 7, 8})
>>> s1.intersection(s2)
{3, 4, 5}
>>> s1,s2
({0, 1, 2, 3, 4, 5}, {3, 4, 5, 6, 7, 8})
>>> s1&=s2
>>> s1,s2
({3, 4, 5}, {3, 4, 5, 6, 7, 8})
>>> s1 = {0,1,2,3,4,5}
>>> s2 = {3,4,5,6,7,8}
>>> s = s1
>>> s1,s2
({0, 1, 2, 3, 4, 5}, {3, 4, 5, 6, 7, 8})
>>> s1&=s2
>>> s
{3, 4, 5}
>>> s1,s2
({3, 4, 5}, {3, 4, 5, 6, 7, 8})
>>> 
>>> s1 = {0,1,2,3,4,5}
>>> s2 = {3,4,5,6,7,8}
>>> s = s1
>>> s,s1,s2
({0, 1, 2, 3, 4, 5}, {0, 1, 2, 3, 4, 5}, {3, 4, 5, 6, 7, 8})
>>> s1.intersection_update(s2)
>>> s,s1,s2
({3, 4, 5}, {3, 4, 5}, {3, 4, 5, 6, 7, 8})
>>> 
>>> 
>>> 

集合之间求差集:

Python 3.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> s1 = {0,1,2,3}
>>> s2 = {5,6,7,8}
>>> s1,s2
({0, 1, 2, 3}, {8, 5, 6, 7})
>>> s1 - s2
{0, 1, 2, 3}
>>> s1,s2
({0, 1, 2, 3}, {8, 5, 6, 7})
>>> s1.differernce(s2)
Traceback (most recent call last):
  File "", line 1, in 
    s1.differernce(s2)
AttributeError: 'set' object has no attribute 'differernce'
>>> s1.difference(s2)
{0, 1, 2, 3}
>>> s1,s2
({0, 1, 2, 3}, {8, 5, 6, 7})
>>> 
>>> s1 = {0,1,2,3}
>>> s2 = {5,6,7,8}
>>> s1 -= s2
>>> s1,s2
({0, 1, 2, 3}, {8, 5, 6, 7})
>>> s1 = {0,1,2,3}
>>> s2 = {5,6,7,8}
>>> s1.difference_update(s2)
>>> s1,s2
({0, 1, 2, 3}, {8, 5, 6, 7})
>>> 
>>> 
>>> s1 = {0,1,2,3,4,5}
>>> s2 = {3,4,5,6,7,8}
>>> s1,s2
({0, 1, 2, 3, 4, 5}, {3, 4, 5, 6, 7, 8})
>>> s1 - s2
{0, 1, 2}
>>> s1,s2
({0, 1, 2, 3, 4, 5}, {3, 4, 5, 6, 7, 8})
>>> s1.differernce(s2)
Traceback (most recent call last):
  File "", line 1, in 
    s1.differernce(s2)
AttributeError: 'set' object has no attribute 'differernce'
>>> s1.difference(s2)
{0, 1, 2}
>>> s1,s2
({0, 1, 2, 3, 4, 5}, {3, 4, 5, 6, 7, 8})
>>> 
>>> 
>>> s1 = {0,1,2,3,4,5}
>>> s2 = {3,4,5,6,7,8}
>>> s1,s2
({0, 1, 2, 3, 4, 5}, {3, 4, 5, 6, 7, 8})
>>> s1 -= s2
>>> s1,s2
({0, 1, 2}, {3, 4, 5, 6, 7, 8})
>>> s1 = {0,1,2,3,4,5}
>>> s2 = {3,4,5,6,7,8}
>>> s = s1
>>> s,s1,s2
({0, 1, 2, 3, 4, 5}, {0, 1, 2, 3, 4, 5}, {3, 4, 5, 6, 7, 8})
>>> s1 -= s2
>>> s,s1,s2
({0, 1, 2}, {0, 1, 2}, {3, 4, 5, 6, 7, 8})
>>> 
>>> 
>>> s1 = {0,1,2,3,4,5}
>>> s2 = {3,4,5,6,7,8}
>>> s = s1
>>> s,s1,s2
({0, 1, 2, 3, 4, 5}, {0, 1, 2, 3, 4, 5}, {3, 4, 5, 6, 7, 8})
>>> s1.difference_update(s2)
>>> s,s1,s2
({0, 1, 2}, {0, 1, 2}, {3, 4, 5, 6, 7, 8})
>>> 
>>> 
>>> 

集合之间求对称差集:

Python 3.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> s1 = {0,1,2,3}
>>> s2 = {5,6,7,8}
>>> s = s1
>>> s1 ^ s2
{0, 1, 2, 3, 5, 6, 7, 8}
>>> s,s1,s2
({0, 1, 2, 3}, {0, 1, 2, 3}, {8, 5, 6, 7})
>>> 
>>> s1 = {0,1,2,3}
>>> s2 = {5,6,7,8}
>>> s = s1
>>> s1.symmetric_difference(s2)
{0, 1, 2, 3, 5, 6, 7, 8}
>>> s,s1,s2
({0, 1, 2, 3}, {0, 1, 2, 3}, {8, 5, 6, 7})
>>> 
>>> 
>>> s1 = {0,1,2,3}
>>> s2 = {5,6,7,8}
>>> s = s1
>>> s1^=s2
>>> s,s1,s2
({0, 1, 2, 3, 5, 6, 7, 8}, {0, 1, 2, 3, 5, 6, 7, 8}, {8, 5, 6, 7})
>>> 
>>> s1 = {0,1,2,3}
>>> s2 = {5,6,7,8}
>>> s = s1
>>> s1.symmetric_difference_update(s2)
>>> s,s1,s2
({0, 1, 2, 3, 5, 6, 7, 8}, {0, 1, 2, 3, 5, 6, 7, 8}, {8, 5, 6, 7})
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> s1 = {0,1,2,3,4,5}
>>> s2 = {3,4,5,6,7,8}
>>> s = s1
>>> s1 ^ s2
{0, 1, 2, 6, 7, 8}
>>> s,s1,s2
({0, 1, 2, 3, 4, 5}, {0, 1, 2, 3, 4, 5}, {3, 4, 5, 6, 7, 8})
>>> 
>>> 
>>> s1 = {0,1,2,3,4,5}
>>> s2 = {3,4,5,6,7,8}
>>> s = s1
>>> s1.symmetric_difference(s2)
{0, 1, 2, 6, 7, 8}
>>> s,s1,s2
({0, 1, 2, 3, 4, 5}, {0, 1, 2, 3, 4, 5}, {3, 4, 5, 6, 7, 8})
>>> 
>>> 
>>> 
>>> s1 = {0,1,2,3,4,5}
>>> s2 = {3,4,5,6,7,8}
>>> s = s1
>>> s1^=s2
>>> s,s1,s2
({0, 1, 2, 6, 7, 8}, {0, 1, 2, 6, 7, 8}, {3, 4, 5, 6, 7, 8})
>>> 
>>> 
>>> s1 = {0,1,2,3,4,5}
>>> s2 = {3,4,5,6,7,8}
>>> s = s1
>>> s,s1,s2
({0, 1, 2, 3, 4, 5}, {0, 1, 2, 3, 4, 5}, {3, 4, 5, 6, 7, 8})
>>> s1.symmetric_difference_update(s2)
>>> s,s1,s2
({0, 1, 2, 6, 7, 8}, {0, 1, 2, 6, 7, 8}, {3, 4, 5, 6, 7, 8})
>>> 
>>> 
>>> 
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/664418.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号