python基础知识小结之集合
作者:hebedich 发布时间:2021-07-14 23:34:54
标签:python,基础知识,集合
集合
特点:集合对象是一组无序排列的可哈希的值:集合成员可以做字典的键,与列表和元组不同,集合无法通过数字进行索引。此外,集合中的元素不能重复。
定义
set() -> new empty set object
set(iterable) -> new set object
s = {0}
应用:去重
>>> lst1 = [1,1,2,2,3,4,2]
>>> list(set(lst1))
[1, 2, 3, 4]
常用操作
集合支持一系列标准操作,包括并集|、交集&、差集-和对称差集^
子集< <=及超集> >=
增删,清空操作
具体见如下代码例子
>>> lst1 = [1,2]
>>> lst2 = [2,3]
>>> a = set(lst1) #定义集合
>>> b = set(lst2)
>>> a,b
({1, 2}, {2, 3})
>>> a|b #取并集
{1, 2, 3}
>>> a&b #取交集
{2}
>>> a-b #取差集
{1}
>>> b-a #取差集
{3}
>>> list(a) #转换集合为列表,也可转为元组,如 tuple(a)返回 (1,2)
[1, 2]
>>> a < b #子集判断
False
>>> c = set([1])
>>> c
{1}
>>> c < a #子集判断
True
>>> c <= a #子集判断
True
>>> d = set([1,2,3])
>>> d > a #超集判断
True
>>>
>>> d >= a #超集判断
True
>>> a,b
({1, 2}, {2, 3})
>>> a^b # 对称差集
{1, 3}
>>> c
{1}
>>> d
{1, 2, 3}
>>> a^d # 对称差集
{3}
>>> s = {0}
>>> type(s)
<class 'set'>
>>>
>>> print(s, len(s)) #集合长度
{0} 1
>>> s.add('1') #添加元素
>>> s
{0, '1'}
>>> s.update([2,3]) #添加多个元素
>>> s
{0, 2, 3, '1'}
>>> s.remove(2) #删除指定元素,如没有则报错
>>> s
{0, 3, '1'}
>>> s.pop() #随便删元素(貌似没什么用)
0
>>> s
{3, '1'}
>>> s.discard(3) #删除指定元素
>>> s
{'1'}
>>> s.clear() #清空集合
>>> s
set()
0
投稿
猜你喜欢
- python logging模块主要是python提供的通用日志系统,使用的方法其实挺简单的,这块就不多介绍。下面主要会讲到在使用pytho
- 方法一 <%dim total(7,3) total(1,0)="ASP之家"&n
- 以前在一个图书类网站看到这样一个功能:客户可以按条件搜索书目的信息,服务器会将符合条件的信息筛选出来保存为一个Excel文件供客户下载。今天
- Pycharm - Python 开发工具通过 agent 代理使用1、下载 Pycharm下载地址2、支持本代理包支持 2020 版本3、
- 脚本之家已经给大家介绍过range和xrange的区别的基础知识,有兴趣的朋友可以参阅: python中xrange和range的
- 此次遇到的问题是在import pycurl 时报错pycurl:libcurl link-time version is older th
- 最近在学习正则,一些比较有用的东西怕忘记,记下来,比较乱,想一条记录一条:正则表达式在线测试//匹配文本,这个偶尔比较好用,但是要小心字符中
- 本文实例为大家分享了OpenCV+face++实现实时人脸识别解锁功能的具体代码,供大家参考,具体内容如下1.背景最近做一个小东西,需要登录
- 一、背景最近有个需求是从一个后台的留言网站爬取留言数据,后台管理网站必然涉及到了登录,登录就有个验证码的问题必须得解决,由于验证码是从后端生
- 一、前言实现名片管理系统,首先要创建两个python file ,分别是cards_main.py和cards_tool.py,前一个是主代
- 在日常的测试工作中,我们的测试用例一般都是保存在Excel文件中,当然也有一些公司会使用Xmind来编写测试用例,那么为什么我们在这里只是讲
- 高性能异步爬虫目的:在爬虫中使用异步实现高性能的数据爬取操作异步爬虫的方式:- 多线程、多进程(不建议):好处:可以为相关阻塞的操作单独开启
- # 贪婪模式 默认的匹配规则# 在满足条件的情况下 尽可能多的去匹配到字符串import rers = re.match('\d{6
- 前言弹幕可以给观众一种“实时互动”的错觉,虽然不同弹幕的发送时间有所区别,但是其只会在视频 * 定的一
- 虽然现在有许多网页制作工具能让您轻松地完成工作,但如果使用HTML则可以得到更大控制权,下面介绍几个小技巧。1.使用语句来控制文字排版比用好
- 引言在利用Python解决各种实际问题的过程中,经常会遇到从某个对象中抽取部分值的情况,切片操作正是专门用于完成这一操作的有力武器。理论上而
- 1、不指定开始和结束的索引[:],这样得到的切片就可以包含整个列表,然后给切片一个新的变量,从而实现复制列表。2、创建原始列表的副本,两个列
- 本文实例讲述了php 多继承的几种常见实现方法。分享给大家供大家参考,具体如下:class Parent1 { function
- 环境python3,开发平台pycharm,使用urllib时,当url中存在中文时会出现以下错误:UnicodeEncodeError:
- 本文实例讲述了Python正则表达式实现简易计算器功能。分享给大家供大家参考,具体如下:需求:使用正则表达式完成一个简易计算器。功能:能够计