Python之集结

 概念:

集合set

一.会面是冬天的,群集是不另行的

二.集中里面包车型大巴因素必须是可哈希的,然而它自己是不可哈希的

三.集结不能够改换内部的成分

4.相会能够求交集、并集、差集、反交集等

 

去重

1,用算法去做
二,调换到集合,再退换过来.

lis = [1,1,2,2,3,3,3,4,5,6,6,7]
set1 = set(lis)
lis = list(set1)
print(lis)

 

一,会集的创制。

set1 = set({1,2,'barry'})
set2 = {1,2,'barry'}
print(set1,set2)  # {1, 2, 'barry'} {1, 2, 'barry'}

贰,集合的增

set1 = {'alex','wusir','ritian','egon','barry'}
set1.add('景女神')
print(set1)

#update:迭代着增加
set1.update('A')
print(set1)
set1.update('老师')
print(set1)
set1.update([1,2,3])
print(set1)

三,会集的删

set1 = {'alex','wusir','ritian','egon','barry'}

set1.remove('alex')  # 删除一个元素
print(set1)

set1.pop()  # 随机删除一个元素
print(set1)

set1.clear()  # 清空集合
print(set1)

del set1  # 删除集合
print(set1)

肆,集结的查

for i in set1:
    print(i)

 

伍,集结的别样操作:

5.1 交集。(&  或者 intersection)

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 & set2)  # {4, 5}
print(set1.intersection(set2))  # {4, 5}

5.2 并集。(| 或者 union)

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 | set2)  # {{1, 2, 3, 4, 5, 6, 7, 8}

print(set2.union(set1))  # {1, 2, 3, 4, 5, 6, 7, 8}

5.3 差集。(- 或者 difference)

  set1-set2   set1独有的

  set2-set1   set2独有的

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 - set2)  # {1, 2, 3}
print(set1.difference(set2))  # {1, 2, 3}

5.4反交集。 (^ 或者 symmetric_difference)

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 ^ set2)  # {1, 2, 3, 6, 7, 8}
print(set1.symmetric_difference(set2))  # {1, 2, 3, 6, 7, 8}

五.五子集与超集

set1 = {1,2,3}
set2 = {1,2,3,4,5,6}

print(set1 < set2)
print(set1.issubset(set2))  # 这两个相同,都是说明set1是set2子集。

print(set2 > set1)
print(set2.issuperset(set1))  # 这两个相同,都是说明set2是set1超集。

6,frozenset不可变群集,让集结产生不可变类型

s = frozenset('barry')
print(s,type(s))  # frozenset({'a', 'y', 'b', 'r'}) <class 'frozenset'>

 

  1、不一样因素构成

  2、无序

  3、不可变(数字、字符串、元组)

 

概念集结

能够一贯用{  }定义一个集结


能够用set定义八个凑合。传列表时,也正是1个for循环遍历列表,把列表中的各个因素依次传入

s=set("hello")
s2=set(["hello","hello","sb"])
print(s)
print(s2)

测试一下那么些

相会的法子add(self)

s={1,2,3,4,5}
s.add("3")
print(s)

 #python二.七或然来得出的是一个列表

clear()——清空集结

copy()——复制群集

pop()——随机删除成分

remove(self)——删除钦定成分

  删除元素不存在会报错

discard(self)——删除钦赐成分

   删除成分不设有不会报错

集合的关联运算

例:没学从前用以下方法查看多个汇聚的一只因素:

p1={1,2,3,4,5}
p2={1,2,3}
li=[]
for i in p1:
    if i in p2:
     li.append(i)
print(li)

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图