它有可变集合set()和不可变集合frozenset()三种,它有可变集合set()和不可变集合frozenset()三种

 

  第③3行,用运算符 ‘<=
‘ 判断集合number_opp_set是不是是集合number_set_a的子集,判断结果赋值给变量__number_set__。

2.3 集合的拜会

 

  

  集合frozenset()是不可变的,存在哈希值,优点是它可以作为字典的key,也得以看成其余集合的元素。缺点是假若创建便不可以更改,没有add(),remove()方法。

  运转结果:

1 {1, 3, 5, 7, 9}
2 {1, 3, 5, 7, 9, '2', '8', '1'}

  例如,将1.2.2 中开创的集合删除。

 

  运转结果:

 

  从上述的运营结果可见,使用del语句删除集合时一种永久性的,删除后就聚拢就不可能再被使用。

  

 

1 number_opp_set =set(number for number in range(1,11,2))
2 print(number_opp_set)

  第③1行,使用运算符 ‘^’
求集合number_set_a和集合number_opp_set的对称差集,并赋值给变量_number_set_。

  运维结果:

  第一3行,用运算符 ‘<=
‘ 判断集合number_opp_set是不是是集合number_set_a的子集,判断结果赋值给变量__number_set__。

    说明:

  运营结果:

1 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
2 {1, 3, 5, 7, 9}
3 -----第一种方式:issubset()求子集-----
4 False
5 True
6 -----第二种方式:用运算符 '<='求子集-----
7 False
8 True

  集合frozenset()是不可变的,存在哈希值,优点是它可以作为字典的key,也得以看成任何集合的元素。缺点是如若创制便无法改变,没有add(),remove()方法。

 

  从上述的周转结果中可见,偶数18倍拆分为1和8各自大增到集结中,并且增添的值都被单引号引起来,那意味扩张的是字符窜。那并不是大家需求的结果。

  运营结果:

  第六行,用函数issuperset()判断集合number_set_a是还是不是是集合number_opp_set的父集,判断结果赋值给变量number_set。

  第2行,使用range()函数和for循环,从2发轫,依次遍历到10,且拉长率为2,再用set()方法,将具备遍历进程中知足步长为2的数字创制为三个相会。

 

  在Python中,我们得以行使for循环来遍历访问集合中的逐个值。

 

  代码:

  例如,定义二个0到10的奇数的汇集,然后再用update()方法往里面增添二个偶数2和18,然后再打印出来。

3.  聚集的关系测试

 

  代码:

  例如,定义一个0到10的奇数的聚合,然后再用add()方法往里面增加三个偶数2和18,然后再打印出来。

  交集就是四个汇集中都有个别有个别,用函数intersection()或运算符
‘&’求七个聚众的混合。

  

 1 number_set_a =set(number for number in range(1,6))
 2 print(number_set_a)
 3 number_opp_set =set(number for number in range(1,11,2))
 4 print(number_opp_set)
 5 print("-----第一种方式:difference()求差集-----")
 6 number_set = number_set_a.difference(number_opp_set)
 7 print(number_set)
 8 _number_set = number_opp_set.difference(number_set_a)
 9 print(_number_set)
10 print("-----第二种方式:用运算符 '-'求差集-----")
11 _number_set_ = number_set_a- number_opp_set
12 print(_number_set_)
13 __number_set__ = number_opp_set - number_set_a
14 print(__number_set__)

 

  运营结果:

  代码:

  

1 number_even_set =set(number for number in range(2,11,2))
2 print(number_even_set)
1 frozenset({1, 3, 5, 7, 9})

  例如,成立七个1到10的数字组合的汇集,再次创下制多个0到10的奇数组成的聚集,然后求其父集。

 

 说明:

2.  聚众的操作

  在Python中,访问整个集合,可以一贯利用。

  第二行,使用del语句删除集合number_opp_set。

  在Python中,集合的去除分为三种,一种是去除集合中的值;一种是去除全数集合。

 

 1 number_set_a =set(number for number in range(1,6))
 2 print(number_set_a)
 3 number_opp_set =set(number for number in range(1,11,2))
 4 print(number_opp_set)
 5 print("-----第一种方式:intersection()求交集-----")
 6 number_set = number_set_a.intersection(number_opp_set)
 7 print(number_set)
 8 print("-----第二种方式:用运算符 '&'求交集-----")
 9 _number_set = number_set_a & number_opp_set
10 print(_number_set)

  第9行,调用remove()方法从集合中除去前面扩充到聚集中的值2,并且remove()中的参数必须用引号引起来,否则Python解释器不可以解析,会指示错误。

1 {1, 3, 5, 7, 9}
2 {1, 3, 5, 7, 9, '2', '8', '1'}

3.2 交集

  代码:

 

  代码:

   
从以上的运维结果可知,求五个汇聚的相得益彰差集时,哪个集合写在函数中或左右都行,其结果都平等。

  代码1:

  说明:

  第玖行,使用函数symmetric_difference()求集合number_opp_set和集合number_set_a的相反相成差集,并赋值给变量_number_set。

  运维结果:

  由此,Python中聚合的效应非常重假若:去重,把贰个列表变成集合,就自动去重;关系测试,测试两组数据里面的插花、差集、并集等涉嫌。

       集合名 = frozenset(集合值)  

    说明:

  第31行,使用运算符 ‘-‘
求集合number_set_a中有,但集合number_opp_set中从未的片段,并赋值给变量_number_set_。

  代码:

 1 number_set_a =set(number for number in range(1,11))
 2 print(number_set_a)
 3 number_opp_set =set(number for number in range(1,11,2))
 4 print(number_opp_set)
 5 print("-----第一种方式:issuperset()求父集-----")
 6 number_set = number_set_a.issuperset(number_opp_set)
 7 print(number_set)
 8 _number_set = number_opp_set.issuperset(number_set_a)
 9 print(_number_set)
10 print("-----第二种方式:用运算符 '>='求父集-----")
11 _number_set_ = number_set_a >= number_opp_set
12 print(_number_set_)
13 __number_set__ = number_opp_set >= number_set_a
14 print(__number_set__)
1 number_opp_set =set(number for number in range(1,11,2))
2 print(number_opp_set)
3 number_opp_set.add(2)
4 number_opp_set.add(18)
5 print(number_opp_set)

集合

  第31行,使用运算符 ‘-‘
求集合number_set_a中有,但集合number_opp_set中没有的某个,并赋值给变量_number_set_。

  说明:  

1 a =set()
2 b = frozenset()
3 print(a)
4 print(b)
1 number_even_set =set(number for number in range(2,11,2))
2 print(number_even_set)
3 for number_evven in number_even_set:
4     print(number_evven)

  第⑤行,使用函数intersection()求集合number_set_a和集合number_opp_set的鱼龙混杂,并赋值给变量number_set。

 

  在Python中, 会见是着力数据类型的一种集合类型,它有可变集合set()和不可变集合frozenset()两种。Python中的集合类似列表,但各类成分都必须时独一无二的,且是无序的。

  代码:

  代码:

1 {1, 2, 3, 4, 5}
2 {1, 3, 5, 7, 9}
3 -----第一种方式:intersection()求交集-----
4 {1, 3, 5}
5 -----第二种方式:用运算符 '&'求交集-----
6 {1, 3, 5}
1 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
2 {1, 3, 5, 7, 9}
3 -----第一种方式:issubset()求子集-----
4 False
5 True
6 -----第二种方式:用运算符 '<='求子集-----
7 False
8 True

  第5行,将列表中的值传给方法set(),生成2个集结。

  (2)访问集合中的每一个值

  在Python中,若是调用update()方法向聚集中加进多个或多少个字符组成的值时,该值要求运用中括号可能花括号括起来,即表示为字典或列表的花样。

  第叁行,直接用print打印整个集合。

  集合update()方法是把要传播的因素拆分,做为单个个体增加到集结中,即多成分增添。

2.1 集合的始建

 1 number_set_a =set(number for number in range(1,6))
 2 print(number_set_a)
 3 number_opp_set =set(number for number in range(1,11,2))
 4 print(number_opp_set)
 5 print("-----第一种方式:symmetric_difference()求对称差集-----")
 6 number_set = number_set_a.symmetric_difference(number_opp_set)
 7 print(number_set)
 8 _number_set = number_opp_set.symmetric_difference(number_set_a)
 9 print(_number_set)
10 print("-----第二种方式:用运算符 '^ '求对称差集-----")
11 _number_set_ = number_set_a ^  number_opp_set
12 print(_number_set_)
13 __number_set__ = number_opp_set ^  number_set_a
14 print(__number_set__)

  运营结果1:

  例如,创立一个1到10里面的数字组成的偶数的联谊,并走访整个集合。

 

1 number_opp_set =set(number for number in range(1,11,2))
2 print("集合删除前:",number_opp_set)
3 del  number_opp_set
4 print("集合删除后:",number_opp_set)
1 {1, 2, 3, 4, 5}
2 {1, 3, 5, 7, 9}
3 -----第一种方式:difference()求差集-----
4 {2, 4}
5 {9, 7}
6 -----第二种方式:用运算符 '-'求差集-----
7 {2, 4}
8 {9, 7}
1 number_opp_set_0 =frozenset(number for number in range(1,11,2))
2 print(number_opp_set_0)

  例如,用frozenset()方法创造多个0到10里边的奇数的相会,并打印出来。

1 {1, 3, 5, 7, 9} 

  第2~3行,用函数range()循环生成0到10之内的奇数,然后增添到空列表中。

  注意:remove()方法和discard()方法都能去除钦点的聚合的值,但如果指定的值在联谊中找不到,则会唤醒错误,而discard()方法不会;pop()方法是即兴删除集合中的任意3个值。

  (1)创造空集合

  在python中,集合的增多有三种常用方法:add()方法和update()方法。

  运维结果:

1 number_opp_set =set(number for number in range(1,11,2))
2 print(number_opp_set)
3 number_opp_set.update('2')
4 number_opp_set.update('18')
5 print(number_opp_set)

  例如,定义一个0到10的奇数的联谊,然后再用update()方法往里面增加贰个偶数2和18,即奇数19,然后再打印出来。

  (2)update()方法

1 number_even_set =set(number for number in range(2,11,2))
2 print(number_even_set)
3 for number_evven in number_even_set:
4     print(number_evven)

  说明:

3.  集聚的关联测试

  例如,创制空集合。  

1 {1, 2, 3, 4, 5}
2 {1, 3, 5, 7, 9}
3 -----第一种方式:symmetric_difference()求对称差集-----
4 {2, 4, 7, 9}
5 {2, 4, 7, 9}
6 -----第二种方式:用运算符 '^ '求对称差集-----
7 {2, 4, 7, 9}
8 {2, 4, 7, 9}

  代码:

 

  在Python中,集合的访问首要有二种,一种是造访整个集合,一种的成团的遍历。

  代码:

  例如,成立1个1到5的数字组成的汇聚,再创造1个0到10的奇数组成的集聚,然后求其差集。

  第21行,用运算符 ‘>=’
判断集合number_set_a是不是是集合number_opp_set的父集,判断结果赋值给变量_number_set_。

  运维结果:

 

  第9行,用运算符 ‘|’
将集合number_opp_set和集合number_even_set合并后赋值给变量_number_set。

  代码:

 

  (2)update()方法

1 {1, 2, 3, 4, 5}
2 {1, 3, 5, 7, 9}
3 -----第一种方式:difference()求差集-----
4 {2, 4}
5 {9, 7}
6 -----第二种方式:用运算符 '-'求差集-----
7 {2, 4}
8 {9, 7}

  对称差集就是求八个汇聚中的剔除公共的一部分的聚合。

  说明:

1 number_opp_set =set(number for number in range(1,11,2))
2 print(number_opp_set)
3 number_opp_set.update('2')
4 number_opp_set.update(['18'])
5 number_opp_set.update({'19'})
6 print(number_opp_set)

  代码:

  第6行,将列表中的值传给方法set(),生成3个凑合。

3.1 并集

 

  在Python中,当我们须求删除全体集合中时,可使用del 语句直接删除。

  代码:

  运营结果:

  以上的代码可以因而列表解析的主意优化为:

1.  会晤的定义

  交集就是多个聚众中都有的有些,用函数intersection()或运算符
‘&’求七个聚众的犬牙相错。

  第③1行,用运算符 ‘>=’
判断集合number_set_a是还是不是是集合number_opp_set的父集,判断结果赋值给变量_number_set_。

  说明:  

  例如,将1.2.2 中追加到集结中的值删除。

 

  (1)访问整个集合

  运转结果:

 

 1 number_set_a =set(number for number in range(1,11))
 2 print(number_set_a)
 3 number_opp_set =set(number for number in range(1,11,2))
 4 print(number_opp_set)
 5 print("-----第一种方式:issuperset()求父集-----")
 6 number_set = number_set_a.issuperset(number_opp_set)
 7 print(number_set)
 8 _number_set = number_opp_set.issuperset(number_set_a)
 9 print(_number_set)
10 print("-----第二种方式:用运算符 '>='求父集-----")
11 _number_set_ = number_set_a >= number_opp_set
12 print(_number_set_)
13 __number_set__ = number_opp_set >= number_set_a
14 print(__number_set__)

  第十行,使用函数difference()求集合number_opp_set中有,但集合number_set_a中尚无的一对,并赋值给变量_number_set。

  第6行,用函数union()将集合number_opp_set和集合number_even_set合并后赋值给变量number_set。

  (2)访问集合中的每种值

运作结果:

  例如,定义1个0到10的奇数的成团,然后再用add()方法往里面增添3个偶数2和18,然后再打印出来。

 

  运营结果:

 

  第23行,用运算符
‘>=’ 判断集合number_opp_set是或不是是集合number_set_a的父集,判断结果赋值给变量__number_set__。

  说明:

  代码:

  第⑤行,用函数issubset()判断集合number_set_a是或不是是集合number_opp_set的子集,判断结果赋值给变量number_set。

  第5行,使用函数difference()求集合number_set_a中有,但集合number_opp_set中从未的一些,并赋值给变量number_set。

  判断集合a是还是不是是集合b的子集,使用函数issubset()或运算符 ‘<=’。

  运转结果:

  说明:

  集合中,并集也叫合集,即将1个会晤和另3个汇合合并为三个会见的历程。求并集使用函数union()大概运算符“|”。

  运营结果:

1 set()
2 frozenset()

 

  第贰行,直接用print打印整个集合。

  说明:

  说明:

3.2 交集

  (2)用set()方法制造集合  

  

  运转结果:

  在Python中,集合的始建可以利用集合的厂子函数set()和frozenset(),可是,set()成立的集结时可变的,frozenset()创设的集合时不可变的,其语法格式分别如下:

  第一 、4行,分别调用update()方法分别向公司中加进偶数2和18.

1 set()
2 frozenset()

  例如,创造二个1到5的数字构成的联谊,再成立一个0到10的奇数组成的聚众,然后求其交集。

  说明:

 

1 number_odd = []
2 for number in range(1,11,2):
3     number_odd.append(number)
4 number_opp_set =set(number_odd)
5 print(number_opp_set)

  例如,用frozenset()方法创制三个0到10之内的奇数的会合,并打印出来。

 

  (1)删除全部集合

  集合中,并集也叫合集,即将多少个集结和另2个集结合并为3个聚众的历程。求并集使用函数union()可能运算符“|”。

  第一3行,使用运算符
‘^’ 求集合number_opp_set和集合number_set_a的对称差集,并赋值给变量__number_set__。

 

  第9行,调用discard()方法从集合中剔除前边增加到集结中的值18,方法discard()中的参数倘若全是数字,不用引号引起来也不会报错,但集合中的值18不会被剔除,不用引号引起来,Python解释器解析不到该值。

  第叁1行,用运算符 ‘<= ‘
判断集合number_set_a是不是是集合number_opp_set的子集,判断结果赋值给变量_number_set_。

  例如,创立3个1到10的数字构成的成团,再次创下立一个0到10的奇数组成的集纳,然后求其父集。

  在Python中,集合的涉及测试包罗:并集、交集、差集等等。

  例如,创设三个1到10的数字组合的聚众,再次创下造3个0到10的奇数组成的成团,然后求其子集。

  集合set和集合frozenset的分别如下:

 

  

  第②1行,用运算符 ‘<= ‘
判断集合number_set_a是不是是集合number_opp_set的子集,判断结果赋值给变量_number_set_。

  第一行,创立二个空列表。

 

  从以上的周转结果可见,求八个汇聚的并集可以运用函数union()或运算符
‘|’ ,其结果是同等的。

  从上述的运转结果可以,求四个集聚的并集可以选用函数union()或运算符
‘|’ ,其结果是相同的。

  第⑩行,使用函数difference()求集合number_opp_set中有,但集合number_set_a中绝非的有的,并赋值给变量_number_set。

  第三 、4行,都以时使用add()方法分别向聚集中加进偶数2和18。

1.  成团的概念

1 {2, 4, 6, 8, 10}
2 2
3 4
4 6
5 8
6 10

 

  第⑩行,用函数issubset()判断集合number_opp_set是不是是集合number_set_a的子集,判断结果赋值给变量_number_set。

  说明:

  运维结果1:

  第10行,用运算符 ‘|’
将集合number_opp_set和集合number_even_set合并后赋值给变量_number_set。

  例如,将1.2.2 中开创的成团删除。

1 frozenset({1, 3, 5, 7, 9})
1 集合删除前: {1, 3, 5, 7, 9}
2 Traceback (most recent call last):
3   File "F:/PyProject/s14/day2/test_set.py", line 6, in <module>
4     print("集合删除后:",number_opp_set)
5 NameError: name 'number_opp_set' is not defined

  代码:

1 {1, 2, 3, 4, 5}
2 {1, 3, 5, 7, 9}
3 -----第一种方式:symmetric_difference()求对称差集-----
4 {2, 4, 7, 9}
5 {2, 4, 7, 9}
6 -----第二种方式:用运算符 '^ '求对称差集-----
7 {2, 4, 7, 9}
8 {2, 4, 7, 9}

  第捌行,用函数issuperset()判断集合number_opp_set是不是是集合number_set_a的父集,判断结果赋值给变量_number_set。 

  第21行,使用运算符 ‘^’
求集合number_set_a和集合number_opp_set的相得益彰差集,并赋值给变量_number_set_。

 

  例如,定义壹个0到10的奇数的汇合,然后再用update()方法往里面增加三个偶数2和18,即奇数19,然后再打印出来。

 (3)用frozenset()方法创造集合  

1 {1, 3, 5, 7, 9}
2 {2, 4, 6, 8, 10}
3 -----第一种方式:用函数union()求并集-----
4 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
5 -----第二种方式:用运算符'|'求并集-----
6 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

  代码:

 

  在Python中,集合的走访主要有二种,一种是访问整个集合,一种的相会的遍历。

  说明:

2.3 集合的去除

  运转结果:

1 number_opp_set_0 =frozenset(number for number in range(1,11,2))
2 print(number_opp_set_0)

 说明:

  在python中,集合的加码有两种常用方法:add()方法和update()方法。

1 {2, 4, 6, 8, 10}

2.  会晤的操作

  第6行,用函数union()将集合number_opp_set和集合number_even_set合并后赋值给变量number_set。

  说明:

2.3 集合的去除

  例如,创造空集合。  

1 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
2 {1, 3, 5, 7, 9}
3 -----第一种方式:issuperset()求父集-----
4 True
5 False
6 -----第二种方式:用运算符 '>='求父集-----
7 True
8 False

       集合名 = frozenset(集合值)  

  在Python中,集合的开创可以使用集合的厂子函数set()和frozenset(),可是,set()创造的汇集时可变的,frozenset()创立的集合时不可变的,其语法格式分别如下:

1 number_opp_set =set(number for number in range(1,11,2))
2 print(number_opp_set)
3 number_opp_set.update('2')
4 number_opp_set.update('18')
5 print(number_opp_set)

  从以上的运行结果可知,由于pop()方法是自由删除集合中的任意三个值,所以将原集合中的值1删除了,但增添的值19照样存在集合中。

  代码:

 1 number_opp_set =set(number for number in range(1,11,2))
 2 print(number_opp_set)
 3 number_even_set =set(number for number in range(2,11,2))
 4 print(number_even_set)
 5 print("-----第一种方式:用函数union()求并集-----")
 6 number_set = number_opp_set.union(number_even_set)
 7 print(number_set)
 8 print("-----第二种方式:用运算符'|'求并集-----")
 9 _number_set = number_opp_set | number_even_set
10 print(_number_set)

  因为Python是解释性语言,代码越少,解释费用的大运也少。

 

  (1)删除全部集合

  说明:

 

  第三3行,使用运算符
‘-‘ 求集合number_opp_set中有,但集合number_set_a中尚无的有些,并赋值给变量__number_set__。

 

 

 

  代码:

  在Python中,即使调用update()方法向聚集中追加五个或多个字符组成的值时,该值要求动用中括号大概花括号括起来,即意味着为字典或列表的样式。

1 {1, 3, 5, 7, 9}

  第六行,使用函数difference()求集合number_set_a中有,但集合number_opp_set中平昔不的部分,并赋值给变量number_set。

  (1)成立空集合

  例如,成立三个1到10之间的数字组合的偶数的聚集,并遍历访问集合中的每种值。

 

 1 number_opp_set =set(number for number in range(1,11,2))
 2 print(number_opp_set)
 3 number_opp_set.update('2')
 4 number_opp_set.update(['18'])
 5 number_opp_set.update({'19'})
 6 print(number_opp_set)
 7 number_opp_set.remove('2')
 8 number_opp_set.discard('18')
 9 number_opp_set.pop()
10 print(number_opp_set)
1 number_even_set =set(number for number in range(2,11,2))
2 print(number_even_set)
 1 number_set_a =set(number for number in range(1,6))
 2 print(number_set_a)
 3 number_opp_set =set(number for number in range(1,11,2))
 4 print(number_opp_set)
 5 print("-----第一种方式:difference()求差集-----")
 6 number_set = number_set_a.difference(number_opp_set)
 7 print(number_set)
 8 _number_set = number_opp_set.difference(number_set_a)
 9 print(_number_set)
10 print("-----第二种方式:用运算符 '-'求差集-----")
11 _number_set_ = number_set_a- number_opp_set
12 print(_number_set_)
13 __number_set__ = number_opp_set - number_set_a
14 print(__number_set__)
1 a =set()
2 b = frozenset()
3 print(a)
4 print(b)
1 集合删除前: {1, 3, 5, 7, 9}
2 Traceback (most recent call last):
3   File "F:/PyProject/s14/day2/test_set.py", line 6, in <module>
4     print("集合删除后:",number_opp_set)
5 NameError: name 'number_opp_set' is not defined

 

1 {1, 3, 5, 7, 9}
2 {1, 2, 3, 5, 7, 9, 18}
 1 number_opp_set =set(number for number in range(1,11,2))
 2 print(number_opp_set)
 3 number_opp_set.update('2')
 4 number_opp_set.update(['18'])
 5 number_opp_set.update({'19'})
 6 print(number_opp_set)
 7 number_opp_set.remove('2')
 8 number_opp_set.discard('18')
 9 number_opp_set.pop()
10 print(number_opp_set)

  从上述的周转结果能够,由于pop()方法是随机删除集合中的任意多个值,所以将原集合中的值1删除了,但净增的值19仍然存在集合中。

  运营结果:

  集合名 = set(集合值)

  例如,定义二个0到10的奇数的成团,然后再用update()方法往里面增添2个偶数2和18,然后再打印出来。

  集合的add()方法是把要传播的要素做为三个一体化伸张到聚集中,即落到实处单成分扩张。

  判断集合a是还是不是是集合b的父集,使用函数issuperset()或运算符 ‘>=’。

  第壹 、4行,都是时接纳add()方法分别向聚集中追加偶数2和18。

  在Python中,集合set的常用操作包蕴:创制集合set、集合set扩展、集合set删除、集合的搅和、集合的并集、集合的差集等。

 

  对称差集就是求多少个汇集中的剔除公共的一对的集纳。

  运维结果:

  在Python中,集合的涉嫌测试包罗:并集、交集、差集等等。

  代码:

  (2)删除集合中的值

 

1 {1, 3, 5, 7, 9}
2 {1, 3, 5, 7, 9, '18', '2', '19'}

  第8行,调用remove()方法从集合中去除前边增加到集结中的值2,并且remove()中的参数必须用引号引起来,否则Python解释器不或许解析,会唤起错误。

  第五行,使用函数intersection()求集合number_set_a和集合number_opp_set的鱼目混珠,并赋值给变量number_set。

 1 number_opp_set =set(number for number in range(1,11,2))
 2 print(number_opp_set)
 3 number_even_set =set(number for number in range(2,11,2))
 4 print(number_even_set)
 5 print("-----第一种方式:用函数union()求并集-----")
 6 number_set = number_opp_set.union(number_even_set)
 7 print(number_set)
 8 print("-----第二种方式:用运算符'|'求并集-----")
 9 _number_set = number_opp_set | number_even_set
10 print(_number_set)

  从以上的运作结果中可见,偶数18倍拆分为1和8各自扩充到聚集中,并且扩张的值都被单引号引起来,那象征增添的是字符窜。那并不是我们须求的结果。

  说明:

  代码:

1 {1, 2, 3, 4, 5}
2 {1, 3, 5, 7, 9}
3 -----第一种方式:intersection()求交集-----
4 {1, 3, 5}
5 -----第二种方式:用运算符 '&'求交集-----
6 {1, 3, 5}

2.2  集合的加码

  从以上的运行结果可见,通过函数intersection()或运算符 ‘&’
,都足以求八个汇集交集。

1 number_opp_set =set(number for number in range(1,11,2))
2 print(number_opp_set)
3 number_opp_set.add(2)
4 number_opp_set.add(18)
5 print(number_opp_set)

  第②行,使用range()函数和for循环,从2上马,依次遍历到10,且幅度为2,再用set()方法,将有着遍历进程中满足步长为2的数字创制为多个汇集。

3.6 对称差集

  运维结果:

  代码:

  说明:

  第十行,用函数issuperset()判断集合number_opp_set是不是是集合number_set_a的父集,判断结果赋值给变量_number_set。 

 

运转结果:

   
从上述的运转结果可以,求多个汇聚的对称差集时,哪个集合写在函数中或左右都行,其结果都同一。

  在Python中,访问整个集合,可以直接拔取。

1 number_opp_set =set(number for number in range(1,11,2))
2 print("集合删除前:",number_opp_set)
3 del  number_opp_set
4 print("集合删除后:",number_opp_set)

  例如,创制一个1到10里边的数字组成的偶数的会晤,并遍历访问集合中的各种值。

  在Python中,集合set的常用操作包含:创造集合set、集合set扩展、集合set删除、集合的备位充数、集合的并集、集合的差集等。

  从以上的运作结果可见,通过函数intersection()或运算符 ‘&’
,都足以求七个汇聚交集。

 

  第四行,用函数issubset()判断集合number_set_a是或不是是集合number_opp_set的子集,判断结果赋值给变量number_set。

1 {1, 3, 5, 7, 9}
2 {1, 3, 5, '19', 7, 9, '2', '18'}
3 {3, 5, 7, 9, '19'}

 

1 number_opp_set =set(number for number in range(1,11,2))
2 print(number_opp_set)

 

  在Python中,大家得以接纳for循环来遍历访问集合中的逐个值。

  说明:

  在Python中,当大家须求删除集合中的值时,可选择remove()方法、discard()方法及pop()方法。

  以上的代码可以由此列表解析的办法优化为:

  (1)访问整个集合

 1 number_set_a =set(number for number in range(1,11))
 2 print(number_set_a)
 3 number_opp_set =set(number for number in range(1,11,2))
 4 print(number_opp_set)
 5 print("-----第一种方式:issubset()求子集-----")
 6 number_set = number_set_a.issubset(number_opp_set)
 7 print(number_set)
 8 _number_set = number_opp_set.issubset(number_set_a)
 9 print(_number_set)
10 print("-----第二种方式:用运算符 '<='求子集-----")
11 _number_set_ = number_set_a <= number_opp_set
12 print(_number_set_)
13 __number_set__ = number_opp_set <= number_set_a
14 print(__number_set__)
1 {1, 3, 5, 7, 9}

  在Python中,当不指定集合的值时,使用工厂函数set()和frozenset()即可创立三个空集合。

  例如,创造二个1到5的数字构成的会见,再创造多少个0到10的奇数组成的汇集,然后求其交集。

3.5 父集

  例如,创设1个1到5的数字构成的聚众,又创制3个0到10的奇数组成的成团,然后求其对称差集。

3.3 差集

  例如,成立1个1到10以内的数字构成的偶数的汇集和奇数集合,然后求其并集。

  例如,用set()方法创立1个0到10里头的奇数的聚众,并打印出来。

1 {1, 3, 5, 7, 9} 

  

3.3 差集

  说明:

1 {2, 4, 6, 8, 10}
 1 number_set_a =set(number for number in range(1,6))
 2 print(number_set_a)
 3 number_opp_set =set(number for number in range(1,11,2))
 4 print(number_opp_set)
 5 print("-----第一种方式:intersection()求交集-----")
 6 number_set = number_set_a.intersection(number_opp_set)
 7 print(number_set)
 8 print("-----第二种方式:用运算符 '&'求交集-----")
 9 _number_set = number_set_a & number_opp_set
10 print(_number_set)

  说明:

 

  代码:

  差集就是在多少个汇集中,在集合a中有,但集合b中没有的有的,或许集合b中有,但集合a中从不的局部。因而我们可使用函数difference()或运算符
‘-’ 求差集。

3.4 子集

  

  第三 、4行,分别调用update()方法分别向公司中追加偶数2和18.

  例如,创造二个1到10里面的数字组成的偶数的汇聚和奇数集合,然后求其并集。

  (2)删除集合中的值

  说明:

  第3行,使用del语句删除集合number_opp_set。

 

  运维结果:

  运维结果:

 1 number_set_a =set(number for number in range(1,11))
 2 print(number_set_a)
 3 number_opp_set =set(number for number in range(1,11,2))
 4 print(number_opp_set)
 5 print("-----第一种方式:issubset()求子集-----")
 6 number_set = number_set_a.issubset(number_opp_set)
 7 print(number_set)
 8 _number_set = number_opp_set.issubset(number_set_a)
 9 print(_number_set)
10 print("-----第二种方式:用运算符 '<='求子集-----")
11 _number_set_ = number_set_a <= number_opp_set
12 print(_number_set_)
13 __number_set__ = number_opp_set <= number_set_a
14 print(__number_set__)

  因为Python是解释性语言,代码越少,解释开销的时光也少。

  例如,将1.2.2 中增添到集结中的值删除。

1 {1, 3, 5, 7, 9}
2 {1, 2, 3, 5, 7, 9, 18}

  例如,成立贰个1到10中间的数字构成的偶数的会面,并访问整个集合。

  第5行,使用函数symmetric_difference()求集合number_set_a和集合number_opp_set的相反相成差集,并赋值给变量number_set。

  代码:

  第柒行,使用函数symmetric_difference()求集合number_opp_set和集合number_set_a的相辅相成差集,并赋值给变量_number_set。

3.6 对称差集

3.4 子集

  运营结果:

 

集合

 (3)用frozenset()方法创设集合  

2.2  集合的加码

 

 

 

 

2.3 集合的造访

 

  例如,成立壹个1到5的数字组合的会见,再次创下立1个0到10的奇数组成的汇集,然后求其对称差集。

  第贰3行,使用运算符
‘^’ 求集合number_opp_set和集合number_set_a的相得益彰差集,并赋值给变量__number_set__。

 

  例如,用set()方法成立1个0到10里面的奇数的汇集,并打印出来。

  在Python中,集合的删除分为二种,一种是剔除集合中的值;一种是去除全体集合。

 

 

3.5 父集

  集合名 = set(集合值)

  第33行,使用运算符
‘-‘ 求集合number_opp_set中有,但集合number_set_a中并未的有的,并赋值给变量__number_set__。

 

  代码:

 说明:

 说明:

  运行结果:

3.1 并集

  代码:

  运转结果:

  代码:

  集合update()方法是把要传播的要素拆分,做为单个个体扩展到集结中,即多成分扩张。

  第叁行,创制两个空列表。

  差集就是在五个汇集中,在集合a中有,但集合b中没有的片段,或许集合b中有,但集合a中从不的一部分。由此我们可接纳函数difference()或运算符
‘-’ 求差集。

  运维结果:

  第⑧行,用函数issubset()判断集合number_opp_set是还是不是是集合number_set_a的子集,判断结果赋值给变量_number_set。

  (1) add()方法

  运行结果:

  集合set和集合frozenset的界别如下:

 

  由此,Python中集合的机能紧假诺:去重,把二个列表变成集合,就机关去重;关系测试,测试两组数据里面的混合、差集、并集等关联。

  (1) add()方法

  集合set是可变的,有add(),remove()等方法。由于集合set是可变的,所以它不设有哈希值。基本功用包含涉嫌测试和清除重复成分。集合对象还支持union(联合)、
intersection(交集)、 difference(差集)和sysmmetric
difference(对称差集)等数学运算。

 1 number_set_a =set(number for number in range(1,6))
 2 print(number_set_a)
 3 number_opp_set =set(number for number in range(1,11,2))
 4 print(number_opp_set)
 5 print("-----第一种方式:symmetric_difference()求对称差集-----")
 6 number_set = number_set_a.symmetric_difference(number_opp_set)
 7 print(number_set)
 8 _number_set = number_opp_set.symmetric_difference(number_set_a)
 9 print(_number_set)
10 print("-----第二种方式:用运算符 '^ '求对称差集-----")
11 _number_set_ = number_set_a ^  number_opp_set
12 print(_number_set_)
13 __number_set__ = number_opp_set ^  number_set_a
14 print(__number_set__)

  第⑤行,用函数issuperset()判断集合number_set_a是否是集合number_opp_set的父集,判断结果赋值给变量number_set。

  在Python中,当大家需求删除全数集合中时,可采纳del 语句直接删除。

  第2~3行,用函数range()循环生成0到10之内的奇数,然后扩展到空列表中。

  集合set是可变的,有add(),remove()等形式。由于集合set是可变的,所以它不设有哈希值。基本功效包涵涉及测试和扫除重复成分。集合对象还援救union(联合)、
intersection(交集)、 difference(差集)和sysmmetric
difference(对称差集)等数学运算。

  代码:

  第10行,调用discard()方法从集合中剔除前边扩大到聚集中的值18,方法discard()中的参数假诺全是数字,不用引号引起来也不会报错,但集合中的值18不会被去除,不用引号引起来,Python解释器解析不到该值。

1 {1, 3, 5, 7, 9}
2 {1, 3, 5, '19', 7, 9, '2', '18'}
3 {3, 5, 7, 9, '19'}

  注意:remove()方法和discard()方法都能去除内定的联谊的值,但万一内定的值在汇集中找不到,则会提醒错误,而discard()方法不会;pop()方法是任意删除集合中的任意一个值。

  在Python中, 聚拢是焦点数据类型的一种集合类型,它有可变集合set()和不可变集合frozenset()二种。Python中的集合类似列表,但每一个成分都必须时独一无二的,且是无序的。

  (2)用set()方法创造集合  

  集合的add()方法是把要传播的元素做为一个完完全全增加到集结中,即落实单成分增添。

  第四行,使用函数symmetric_difference()求集合number_set_a和集合number_opp_set的对称差集,并赋值给变量number_set。

  判断集合a是还是不是是集合b的子集,使用函数issubset()或运算符 ‘<=’。

1 {1, 3, 5, 7, 9}
2 {1, 3, 5, 7, 9, '18', '2', '19'}

  在Python中,当我们须求删除集合中的值时,可利用remove()方法、discard()方法及pop()方法。

  运转结果:

2.1 集合的开创

1 {1, 3, 5, 7, 9}
2 {2, 4, 6, 8, 10}
3 -----第一种方式:用函数union()求并集-----
4 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
5 -----第二种方式:用运算符'|'求并集-----
6 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
1 number_odd = []
2 for number in range(1,11,2):
3     number_odd.append(number)
4 number_opp_set =set(number_odd)
5 print(number_opp_set)

  运维结果:

  代码:

  在Python中,当不点名集合的值时,使用工厂函数set()和frozenset()即可创设三个空集合。

  从以上的运行结果可以,使用del语句删除集合时一种永久性的,删除后就成团就不能够再被选用。

  第10行,使用运算符 ‘&’
求集合number_set_a和集合number_opp_set的混杂,并赋值给变量_number_set。 

  代码:

1 {2, 4, 6, 8, 10}
2 2
3 4
4 6
5 8
6 10

  第拾行,使用运算符 ‘&’
求集合number_set_a和集合number_opp_set的鱼目混珠,并赋值给变量_number_set。 

  代码:

  代码1:

  例如,创建一个1到5的数字组合的集纳,又创设多少个0到10的奇数组成的集合,然后求其差集。

  运营结果:

  例如,创立三个1到10的数字组成的联谊,再次创下设一个0到10的奇数组成的聚众,然后求其子集。

  代码:

  

  代码:

  运转结果:

1 number_opp_set =set(number for number in range(1,11,2))
2 print(number_opp_set)
3 number_opp_set.update('2')
4 number_opp_set.update(['18'])
5 number_opp_set.update({'19'})
6 print(number_opp_set)

  第②3行,用运算符
‘>=’ 判断集合number_opp_set是还是不是是集合number_set_a的父集,判断结果赋值给变量__number_set__。

  集合set帮助 N in set, len(set),和 for N in
set。作为3个无序的集合,集合set不记录成分地方如故插入点。由此,集合set不接济indexing, 或任何类连串的操作。

  判断集合a是还是不是是集合b的父集,使用函数issuperset()或运算符 ‘>=’。

  

1 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
2 {1, 3, 5, 7, 9}
3 -----第一种方式:issuperset()求父集-----
4 True
5 False
6 -----第二种方式:用运算符 '>='求父集-----
7 True
8 False

 

  集合set协理 N in set, len(set),和 for N in
set。作为二个无序的聚合,集合set不记录成分地方依旧插入点。由此,集合set不接济indexing, 或其余类系列的操作。