首页 > 其他分享 >集合

集合

时间:2022-08-27 22:55:43浏览次数:43  
标签:10 20 s2 s1 50 print 集合

1、创建集合

  创建集合使用{ }或set(),但是如果要创建空集合只能使用set(),因为{ }用来创建空字典。

  特点:

    1. 集合可以去掉重复数据;

    2. 集合数据是无序的,故不支持下标。

s1 = {10, 20, 30, 40, 50}  # 无序
# 结果:{50, 20, 40, 10, 30}
print(s1)

s2 = {10, 20, 50, 90, 20, 50}  # 去掉重复
# 结果:{10, 50, 20, 90}
print(s2)

s3 = {'abcdefg'}
# 结果:{'abcdefg'}
print(s3)

s4 = set('abcdefgh')  # 拆分成单个
# 结果:{'a', 'e', 'f', 'g', 'b', 'c', 'h', 'd'}
print(s4)

s5 = set()  # 空集合 
# 结果:set()
print(s5)
# 结果:<class 'set'>
print(type(s5))

s6 = {}  # 空字典
# 结果:<class 'dict'>
print(type(s6))

2、集合常见操作方法

  2.1 增加数据

    add()增加单一数据,增加序列则会报错

 

s1 = {10, 20, 30}
s1.add(100)
# 结果:{100, 10, 20, 30}
print(s1)
s1.add(10)
# 结果:{100, 10, 20, 30}
print(s1)
s1.add([50, 60])
# 结果: 报错
print(s1)

 

    update()追加数据序列,增加单一数据则报错

 

s2 = {20, 50, 80}
s2.update([100, 200])
# 结果:{100, 200, 80, 50, 20}
print(s2)
s2.update('abc')
# 结果:{100, 200, 'b', 80, 'c', 50, 20, 'a'}
print(s2)
s2.update(30)
# 结果:报错
print(s2)

 

  2.2 删除数据

    remove()删除集合中的指定数据,如果数据不存在则报错。

s1 = {10, 20, 40, 50, 60}
s1.remove(20)
# 结果:{50, 40, 10, 60}
print(s1)
s1.remove(20)
# 结果:报错
print(s1)

    discard()删除集合中的指定数据,如果数据不存在也不会报错。

 

s1 = {10, 20, 40, 50, 60}
s1.discard(20)
# 结果:{50, 40, 10, 60}
print(s1)
s1.discard(20)
# 结果:{50, 40, 10, 60}
print(s1)

    pop()随机删除集合中的某个数据,并返回这个数据。

 

s1 = {10, 20, 40, 50, 60}
s1.pop()
# 结果:{20, 40, 10, 60}
print(s1)
s2 = s1.pop()
# 结果:20
print(s2)
# 结果:{40, 10, 60}
print(s1)

 

 

  2.3 查找数据

    in :判断数据在集合序列

    not in :判断数据不在集合序列

 

s3 = {20, 50, 90}
# 结果:True
print(20 in s3)
# 结果:False
print(30 in s3)
# 结果:False
print(20 not in s3)
# 结果:True
print(400 not in s3)

 

标签:10,20,s2,s1,50,print,集合
From: https://www.cnblogs.com/yz-b/p/16631723.html

相关文章

  • Java学习-第一部分-第二阶段-第五节:集合
    集合笔记目录:(https://www.cnblogs.com/wenjie2000/p/16378441.html)前面我们保存多个数据使用的是数组,那么数组有不足的地方,我们分析一下。●数组长度开始时必须指定......
  • java如何实现对List集合进行分页
    对List集合进行分页:private<T>Page<T>listToPage(List<T>dataList,IntegerpageSize,IntegerpageNumber){Page<T>result=newPage<T>();List<T>monit......
  • 集合分区和文件分区
    切分计划set[0,6)123456[6,13)78910111213[13,20)14151617181920[floor((n-1)*(N/P)),floor(n*N/P))file[0,6] 1,2,3,4[7,12] 5,6......
  • java学习笔记015 集合
    1.集合Collection List 有序,可重复 Set 无序,不可重复Map key<==>value2.Collection接口通用的方法 boolean add(Ee) boolean addAll(Collectioncoll) int......
  • day27--Java集合10
    Java集合1021.集合家庭作业21.1Homework01按要求实现:封装一个新闻类,包括标题和内容属性,提供get、set方法,重写toString方法,打印对象时只打印标题;只提供一个带参数......
  • python基础-set集合,深浅拷贝
    python基础-set集合,深浅拷贝  一.基础数据类型补充补充给一个字符串基本操作 列表:循环删除列表中的每一个元素 分析原因:for的运行过程.会有一个......
  • Day06集合-LinkedList
    LinkedList1.特点:链表结构实现,查询慢,增删快2.LinkedList使用/*LinkedList的使用*/publicclasslinkedListDemo01{publicstaticvoidmain(String[]args......
  • Day06集合-Set
    Set接口1.概述无序,五下标,元素不可重复2.Set接口使用/***set接口使用(同collection)*/publicclasssetDemo{publicstaticvoidmain(String[]args){......
  • Day07集合-HashMap
    HashMap特点:jdk1.2,运行效率快,线程不安全,允许null作为key或者value使用:存储结构:哈希表(数组+链表+红黑树)使用key的hashcode和equals判重//创建HashMap<student,St......
  • Day07集合-Map父接口
    MapMap父接口存储一对数据(key—Value),无序,无下标,建不可以重复,值可以重复。方法方法摘要voidclear()从此映射中移除所有映射关系(可选操作)。bo......