1.集合概念

具有某种特定性质的事物的总体,集合里的东西叫作元素。Python中,集合(set)是一个无序不重复元素的序列。

2.集合的创建

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

#第一种创建

parame={value01,value02,...}

第二种创建set(value)

注意:集合可以有任意数量的元素,它们可以是不同的类型(例如:数字、元组、字符串等)。但是,集合不能有可变元素(例如:列表、集合或字典)。也就是说set()是无序的集合,不能有重复的元素,也不能排序。

3.集合的操作

1.增删

1.将元素 x 添加到集合 s 中,元素可以是列表,元组,字典等。由于集合不能有可变元素,所以添加列表等到集合,会进行拆解。

2.将元素 x 从集合 s 中移除,有两种方法,用remove()方法,如果元素不存在,则会发生错误。用discard()方法,如果元素不存在,不会发生错误。

#添加元素 s.add( x )

thisset = set(("cdx", "Red", "molly"))

thisset.add("cool")print(thisset)>>>{"cdx", "Red", "molly","cool"}

thisset = set(("cdx", "Red", "molly"))

thisset.update({1,3})

print(thisset)

>>>

{1, 3,"cdx", "Red", "molly"}

thisset.update([1,4],[5,6])

print(thisset)

>>>

{1, 3, 4, 5, 6,"cdx", "Red", "molly"}

#删除元素

#方法1s.remove( x )

thisset = set(("cdx", "Red", "molly"))

thisset.remove("cdx")

print(thisset)

>>>

{"Red", "molly"}

方法2 s.discard( x )

s = {'P', 'y', 't', 'h', 'o', 'n'}

s.discard('w') # 去掉一个不存在的元素,不会发生异常

print(s)

>>>{'P', 'y', 't', 'h', 'o', 'n'}

2.计算集合元素个数

#语法格式 len(s)

thisset = set(("cdx", "Red", "molly"))

print(len(thisset))

>>>

3

注意(len()函数的作用为返回字符串、列表、字典、元组等长度)

3.清空集合

#语法格式 s.clear()

thisset = set(("cdx", "Red", "molly"))

thisset.clear()

print(thisset) >>> set()

4.判断元素是否在集合中存在

#语法格式 x in s

thisset = set(("cdx", "Red", "molly"))

print("cdx" in thisset)

>>>

True

5.集合的特性

1.无序性(也就是说,集合不支持索引(按照下标查找))

s = set('Python')print(s)

{'y', 'n', 'h', 'o', 'P', 't'}

s[0]#不支持索引,会报错

TypeError: 'set' object does not support indexing

2.互异性(一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次)

s = set('Hello')print(s)>>>{'e', 'H', 'l', 'o'}

3.确定性(给定一个集合,任给一个元素,该元素或者属于或者不属于该集合,二者必居其一,不允许有模棱两可的情况出现)

s = set("hello")print('l' ins)>>>Trueprint('P' not ins)>>>True

6.集合的函数和方法

集合的方法:

add()

将元素添加到集合中

clear()

删除集合中的所有元素

copy()

返回集合的浅拷贝

difference()

将两个或多个集合的差集作为一个新集合返回

difference_update()

从这个集合中删除另一个集合的所有元素

discard()

删除集合中的一个元素(如果元素不存在,则不执行任何操作)

intersection()

将两个集合的交集作为一个新集合返回

intersection_update()

用自己和另一个的交集来更新这个集合

isdisjoint()

如果两个集合有一个空交集,返回 True

issubset()

如果另一个集合包含这个集合,返回 True

issuperset()

如果这个集合包含另一个集合,返回 True

pop()

删除并返回任意的集合元素(如果集合为空,会引发 KeyError)

remove()

删除集合中的一个元素(如果元素不存在,会引发 KeyError)

symmetric_difference()

将两个集合的对称差作为一个新集合返回

symmetric_difference_update()

用自己和另一个的对称差来更新这个集合

union()

将集合的并集作为一个新集合返回

update()

用自己和另一个的并集来更新这个集合

集合的内置函数:

函数

描述

all()

如果集合中的所有元素都是 True(或者集合为空),则返回 True。

any()

如果集合中的所有元素都是 True,则返回 True;如果集合为空,则返回 False。

enumerate()

返回一个枚举对象,其中包含了集合中所有元素的索引和值(配对)。

len()

返回集合的长度(元素个数)

max()

返回集合中的最大项

min()

返回集合中的最小项

sorted()

从集合中的元素返回新的排序列表(不排序集合本身)

sum()

返回集合的所有元素之和

7.集合的补充

1.集合的pop()方法

集合也可以使用 pop() 方法删除和返回一个项目。

情况1:当集合是由列表和元组组成时,set.pop()是从左边第一个开始删除元素。

set1 = set([9,4,5,2,6,7,1,8])print(set1)print(set1.pop())print(set1)>>>{1, 2, 4, 5, 6, 7, 8, 9}1{2, 4, 5, 6, 7, 8, 9}

情况2:当集合是字典或者字符集合时,set.pop()是随机删除集合中的一个元素。

s = set('Python')print(s.pop() )>>>

"p"

2.怎样将列表或者元组里的重复元素去掉呢?

当然,当你看完了集合,你应该已经知道了,将他们转换为集合,就可以利用集合的特性去掉重复。

list1 = [6, 7, 7, 8, 8, 9]print(set(list1))>>>{6, 7, 8, 9}

PS(博主需要休息。。。另外,你已经看完了Python的基础内容,下下更就要进入函数,类等入门内容了。下一更会对这些基础内容进行总结)

python序列类型-Python内置序列类型之集合类型详解相关推荐

  1. python turtle库setpos_Python内置海龟(turtle)库绘图命令详解(二)

    继续谈利用海龟库(turtle库)做图.在这篇文章(Python内置海龟(turtle)库绘图命令详解(一))中已经介绍了turtle的一些基本画图命令,包括画布的设计.画笔属性与状态的设置以及画笔的 ...

  2. python内置函数布尔值bool用法详解

    python内置函数bool可将给定参数转换为bool类型,bool函数的返回值要么是True,要么是False,在做转换时,0, None,空字符串,空列表,空元组,空集合,空字典都会被转换为Fal ...

  3. python内置json模块的作用_python详解json模块

    我们在做工作中经常会使用到json模块,今天就简单介绍下json模块 什么是json JSON ,全称为JavaScript Object Notation, 也就是JavaScript 对象标记,它 ...

  4. 【python学习】列表、元组、字典、集合(详解)

    关注作者,持续阅读作者的文章,学习更多知识! https://blog.csdn.net/weixin_53306029?spm=1001.2014.3001.5343 一.列表 列表(list)是P ...

  5. hive内置函数_flink教程flink modules详解之使用hive函数

    modules概念 通过hive module使用hive函数 内置函数 自定义函数 sql 客户端的使用 原理分析和源码解析 实现 modules概念 flink 提供了一个module的概念,使用 ...

  6. Dubbo内置4种负载均衡算法(详解)

    1.1 什么是负载均衡 在实际开发中,一个服务基本都是集群模式的,也就是多个功能相同的项目在运行,这样才能承受更高的并发,这时一个请求到这个服务,就需要确定访问哪一个服务器 Dubbo框架内部支持负载 ...

  7. 基本数据结构--字典和常用内置序列函数

    字典 #字典 #创建一个字典,存储一个人的信息 dict1={'name':'zhangsan','age':30,'city':'beijing'} print(dict1) {'name': 'z ...

  8. python的四种内置数字类型_浅析Python数字类型和字符串类型的内置方法

    一.数字类型内置方法 1.1 整型的内置方法 作用 描述年龄.号码.id号 定义方式 x = 10 x = int('10') x = int(10.1) x = int('10.1') # 报错 内 ...

  9. boost::python模块实现使用内置 python 数据类型创建 ndarrays 的示例,并提取成员变量的类型和值测试程序

    boost::python模块实现使用内置 python 数据类型创建 ndarrays 的示例,并提取成员变量的类型和值测试程序 实现功能 C++实现代码 实现功能 boost::python模块实 ...

  10. python内置类型方法_浅析Python数字类型和字符串类型的内置方法

    一.数字类型内置方法 1.1 整型的内置方法 作用 描述年龄.号码.id号 定义方式 x = 10 x = int('10') x = int(10.1) x = int('10.1') # 报错 内 ...

最新文章

  1. 赋能AI开源生态,Tengine成AI开发利器
  2. 操作系统课设--具有优先级的线程调度
  3. 程序基础:数据结构(郝斌讲解)(2)
  4. SpringBoot整合Shiro(认证+授权)
  5. 【2D动画】《想你》。。。。难以想象
  6. telnet命令---Linux学习笔记
  7. 上海市计算机一级客观题,2012年上海市高校计算机等级考试(一级)模拟卷客观题...
  8. Java - 计算不同字符或数字的个数
  9. VMware运行Ubuntu 三种网络连接方式:bridge、NAT、Host-Only的区别
  10. postgresql linux rpm,postgresql 9.6 rpm包安装 CentOS 7.2 X64
  11. Oracle 11g vs 12c 内存、优化器等默认参数对比
  12. 嵌入式工具——tcpdump
  13. golang 判断map的键key是否存在
  14. mac php 本地服务器,在Mac上搭建本地Apache服务器一些注意点
  15. 使用eeupdate修改机器网卡mac地址
  16. MPEG4Extractor分析
  17. Cadence 17.2 Pad Editor入门指南(2)
  18. 如何在xshell中导入xsh
  19. linux中sed提取ip,通过sed命令获取IP地址
  20. github下载加速的几种方法

热门文章

  1. Linux 集群时钟同步
  2. 创建型设计模式 之 单例模式
  3. Python中的那些“坑”
  4. Machine Vision 浅谈
  5. tomcat的work目录作用
  6. 4.4MSSQLServer常用版本介绍
  7. bzoj 1024 生日快乐
  8. Croc Champ 2013 - Round 2 (Div. 2 Edition) 贪心+ 搜索+剪枝 + 数学
  9. mongoDB 介绍(特点、优点、原理)
  10. 打造完全绿色的TOTAL COMMANDER