来自 澳门金莎娱乐手机版 2019-12-18 18:53 的文章
当前位置: 金沙澳门官网网址 > 澳门金莎娱乐手机版 > 正文

澳门金莎娱乐手机版第十五章

python3 第十六章,python3

python的官方网站里对聚焦的陈说是:

Python also includes a data type for sets. A set is an unordered collection with no duplicate elements. Basic uses include membership testing and eliminating duplicate entries. Set objects also support mathematical operations like union, intersection, difference, and symmetric difference.

Python还包罗用于群集的数据类型。集结是还未重新成分的严节容器。基本用法满含成员身价测量检验和清除重复条约。集合对象也支撑数学生运动算,如并,交,差和对称差。

 

澳门金莎娱乐手机版 ,特点:

  • 集中是二个严节的,不重复的数额整合
  • 把一个列表变成群集,就自动去重了
  • 波及测验,测量检验两组数据在此之前的交集、差集、并集等事关

 

1、创建

用花括号依旧set(卡塔尔国函数能够用来创建集合。注意,你必需选拔set(卡塔尔国创制一个空的聚众,而无法用{},前边这种写法创设一个空的字典

实例:

basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}  # 用花括号的方式创建一个集合

set2 = set('abracadabra')  # 用set()的方式创建一个集合

set3 = set()  # 创建一个空的集合

print(basket)

以上代码,输出:

{'banana', 'orange', 'apple', 'pear'}

周到对待一下,你会意识,自动去除了重新,值得黄金时代提的是呈现的后生可畏意气风发并不表示Sets是稳步的

 

2、添新币素

由此add(key卡塔尔国方法可以添美金素到set中,能够重新扩大,但不会有效用:

basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}  # 用花括号的方式创建一个集合
print('原来的basket:', basket)

basket.add('apple')  # 添加一个重复的
print('添加一个重复项后:', basket)

basket.add('watermelon')  # 添加一个不重复的
print('添加一个不重复项后:', basket)

上述代码,输出:

原来的basket: {'apple', 'banana', 'pear', 'orange'}
添加一个重复项后: {'apple', 'banana', 'pear', 'orange'}
添加一个不重复项后: {'banana', 'apple', 'watermelon', 'orange', 'pear'}

 

3、删除成分

可通过remove(key卡塔尔方法能够去除成分:

basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}  # 用花括号的方式创建一个集合
print('原来的basket:', basket)

basket.remove('apple')  # 删除 'apple'
print('删除 'apple':', basket)

以上代码,输出:

原来的basket: {'apple', 'pear', 'banana', 'orange'}
删除 'apple': {'pear', 'banana', 'orange'}

 

set和dict的唯豆蔻梢头不一致仅在于未有存款和储蓄对应的value,然则,set的法规和dict相符,所以,相仿不得以放入可变对象,因为不可能看清七个可变对象是否等于,也就无法确认保障set内部“不会有再一次成分”。试试把list放入set,看看是否会报错。

 

set能够当作数学意义上的无序和无重复成分的集纳,因而,七个set能够做数学意义上的搅动、并集等操作,大家因此实例来演示:

A = {'apple', 'orange',  'pear',  'banana'}  # 用花括号的方式创建一个集合
B = {'apple', 'orange',  'watermelon'}
C = {'apple', 'orange'}
D = {'c++', 'python'}

print('集合A:', A)
print('集合B:', B)

print('A、B的交集:', A.intersection(B))  # 交集
print('A、B的并集:', A.union(B))  # 并集
print('A、B的差集:', A.difference(B))  # 差集 (项在A中,但不在B中)
print('A、B的对称差集:', A.symmetric_difference(B))  # 对称差集(项在A或B中,但不会同时出现在二者中)

# 子集(判断A是否包含了B里面的所有值)
print('B是A的子集?', B.issubset(A))
print('C是A的子集?', C.issubset(A))

# 父集(判断A是否为B的父集)
print('A是B的父集?', A.issuperset(B))
print('A是C的父集?', A.issuperset(C))

# 无交集(判断两个集合是否完全没有任何交集)
print('A与D是否有交集?', A.isdisjoint(D))
print('A与B是否有交集?', A.isdisjoint(B))

print()  # 输出空行
print()  # 输出空行
print('另一种写法')
print('集合A:', A)
print('集合B:', B)

#  另一种写法
print('A、B的交集 => A & B:', A & B)  # 交集
print('A、B的并集 => A | B:', A | B)  # 并集
print('A、B的差集 => A - B:', A - B)  # 差集(项在A中,但不在B中)
print('A、B的对称差集 => A ^ B:', A ^ B)  # 对称差集(项在A或B中,但不会同时出现在二者中)

以上代码,输出:

集合A: {'apple', 'orange', 'pear', 'banana'}
集合B: {'apple', 'orange', 'watermelon'}
A、B的交集: {'apple', 'orange'}
A、B的并集: {'apple', 'watermelon', 'pear', 'orange', 'banana'}
A、B的差集: {'pear', 'banana'}
A、B的对称差集: {'watermelon', 'pear', 'banana'}
B是A的子集? False
C是A的子集? True
A是B的父集? False
A是C的父集? True
A与D是否有交集? True
A与B是否有交集? False


另一种写法
集合A: {'apple', 'orange', 'pear', 'banana'}
集合B: {'apple', 'orange', 'watermelon'}
A、B的交集 => A & B: {'apple', 'orange'}
A、B的并集 => A | B: {'apple', 'watermelon', 'pear', 'orange', 'banana'}
A、B的差集 => A - B: {'pear', 'banana'}
A、B的对称差集 => A ^ B: {'watermelon', 'pear', 'banana'}

第十四章,python3 python的官方网址里对聚焦的陈述是: Python also includes a data type for sets . A set is an unordered collection with no duplicate elements. B...

本文由金沙澳门官网网址发布于澳门金莎娱乐手机版,转载请注明出处:澳门金莎娱乐手机版第十五章

关键词: