博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
笔记(七)
阅读量:3934 次
发布时间:2019-05-23

本文共 2441 字,大约阅读时间需要 8 分钟。

集合set  无序不重复的元素

意味着不能用下标访问

s1 = set()  #创建空集合只能使用set()s2={}print(type(s1))print(type(s2))s2={1,3,7}  #字典:{key:value,key:value,...}  集合{元素1,元素2,...}print(type(s2))'''
'''

作用:利用其不重复特点,将一个列表快速去重

list1 = [3,5,8,9,1,8,4,2,5,8,9]s1 = set(list1)print(s1)'''{1, 2, 3, 4, 5, 8, 9}'''
s={10,2,31,4,5}for index,i in enumerate(s):  #enumerate()下标和元素配对存放    print(index,i)'''0 21 42 53 104 31'''

增删改查

增加

add()   添加一个元素

update() 添加新元素进入集合,不重复添加

s1 = set()s1.add('royal')s1.add('never')s1.add('give')s1.add('up')print(s1)#不是顺序添加t1=('把','书','读','下','去')s1.update(t1)print(s1)#也是无序的s1.add(t1)#可以放元组,不能放列表和字典print(s1)'''{'up', 'give', 'never', 'royal'}{'give', '去', '读', 'up', '书', 'royal', '下', '把', 'never'}{'去', ('把', '书', '读', '下', '去'), '读', '书', 'up', '下', 'give', '把', 'royal', 'never'}'''

删除

set.remove()  元素存在则删除,没有报异常

set.pop()  随机删除,一般删除第一个元素

set.clear()  清空所有元素

set.discard()  类似remove(),在移除不存在元素时不会报错

s1 = set()s1.add('royal')s1.add('never')s1.add('give')s1.add('up')s1.remove('royal')print(s1)#s1.remove('give up')  KeyError: 'give up's1.pop()print(s1)s1.pop()print(s1)'''{'up', 'give', 'never'}{'give', 'never'}{'never'}set()'''

练习:

1.产生10个1~20的随机数,去除里面的重复项

2.键盘输入一个元素,将此元素从不重复的集合中删除

import randomlist1=[]for i in range(10):    ran=random.randint(1,20)    list1.append(ran)set1=set(list1)print(list1)print(set1)num = int(input('请输入一个数字'))set1.discard(num)print('删除之后的结果:',set1)#法2set1=set()for i in range(10):    ran = random.randint(1,20)    set1.add(ran)print(set1)

符号操作

in   not in   判断元素是否在集合中

import randomset1 = set()for i in range(10):    ran = random.randint(1,20)    set1.add(ran)print(set1)print(6 in set1)'''{1, 4, 5, 8, 10, 15, 16, 17}False'''

==  比较集合内容是否相等,相等返回True

set1={2,3,4,6,7}set2={2,3,4,5}print(set1==set2)print(set1!=set2)'''FalseTrue'''

运算符  +  *  -  &  |

set不支持+  *

-  差集   difference()功能同-号

 set.difference_upgrate()  取差集并赋值给set

set1={2,3,4,6,7}set2={2,3,4,5}set3=set1-set2print(set3)set4=set2-set1print(set4)set5 = set1.difference(set2)print(set5)'''{6, 7}{5}{6, 7}'''

& 交集  intersection()功能同&号

set1={2,3,4,6,7}set2={2,3,4,5}set3=set1&set2print(set3)set4=set1.intersection(set2)print(set4)'''{2, 3, 4}{2, 3, 4}'''

|并集  union()功能同|号

^对称差集  找出两个列表中不一样的元素   symmetric_difference()同^号

练习:

已知两个列表:l1=[5,1,2,9,0,3]    l2=[7,2,5,7,9]

找出两个列表的不同元素

找出两个列表的共同元素

l1=[5,1,2,9,0,3]l2=[7,2,5,7,9]s1=set(l1)s2=set(l2)#对称差集result = (s1|s2)-(s1&s2)print(result)result=s1^s2print(result)print(s1&s2)'''{0, 1, 3, 7}{0, 1, 3, 7}{9, 2, 5}'''

 

 

转载地址:http://nzegn.baihongyu.com/

你可能感兴趣的文章
设计的理念
查看>>
多线程专题 - 脉络图
查看>>
javascript 函数,BOM
查看>>
javascript 客户端能力检测
查看>>
javascript DOM详解之DOM1
查看>>
javascript DOM扩展
查看>>
矛盾论读书笔记
查看>>
规则 - 利用CDN缓存
查看>>
什么是统计学中的 Standard Error ( SE )?
查看>>
统计学中的标准差(SD)和 平均值的标准误差(SEM)的区别
查看>>
[数据挖掘与预测分析] 单变量统计分析思考问题
查看>>
[统计学笔记] (十三)指数分析(2)
查看>>
Data Science 到底是什么?
查看>>
机器学习(Machine Learning)和传统的数据统计分析(Data Statistics)有什么区别?
查看>>
统计学、统计学习和统计推断之间的关系
查看>>
PMP笔记:质量管理的七个工具
查看>>
悦读:重新定义公司-谷歌是如何运营的
查看>>
研发主管的烦恼:周一早晨延迟的项目会议
查看>>
研发主管的烦恼:难以执行的绩效考核
查看>>
精益Scrum(五)
查看>>