Python四种基本结构的操作
列表
列表的创建有两种方法
SampleList = []
SampleList = list()
列表中元素的添加
append(obj):在列表末尾添加元素obj
extend(seq):在列表末尾添加多个值,使用extend()函数,seq是一个可迭代对象,否则报错。
Insert(index,obj):将元素obj添加到列表的index位置处。
Sample = [1,2,3,4,5]
Sample.append(1)
#[1,2,3,4,5,6]
s = [7,8]
Sample.extend(s)
#[1,2,3,4,5,6,7,8]
Sample.insert(0,0)
#[0,1,2,3,4,5,6,7,8]
列表中元素删除
pop(index=-1):删除列表index位置处元素,默认是-1,即最后一个,并且返回该元素值。
remove(obj):删除列表中第一次出现的obj元素。
clear():列表清空
两个删除函数,如果没有找到对应元素的话,则报错。
s = [1,2,3,4]
s.pop()
#[1,2,3]
s.remove(2)
#[1,3]
s.clear()
#[]
查找元素位置
index(obj,start=0,end=1)函数
index函数从列表中查找元素,在下标索引为0到下标索引为1区间内查找obj元素,并且返回索引值。
如果没有则报错。
s = [1,2,3,4]
print(s.index(2))
#1
元素排序
sort(reverse=True)函数
如果不加reverse默认为从小到大排序。
s = [2,3,1,6]
s.sort()
#[1,2,3,6]
s.sort(reverse=True)
#[6,3,2,1]
列表元素倒置
使用reverse()函数
s = [1,2,3,4]
s.reverse()
#[4,3,2,1]
统计元素格式
count(obj)函数可以统计列表中obj元素出现的次数,如果没有则返回0。
s = [1,2,3,4,1]
s.count(1)
#2
集合
集合的创建只有一种方法
t = set()
不能使用t = {},因为{}默认是创建字典。
集合的性质1:(去重)
集合自身不能存在重复元素,决定了集合可以去重。
s = [1,1,2,3,4,5,5]
print(set(s))
#{1,2,3,4,5}
增加、删除元素
s = set([1,2,3])
s.add(4)
#{1,2,3,4}
s.pop()
#{2,3,4},集合pop与列表的pop是不同的,列表的pop默认删除最后一个,而集合默认删除第一个。
s.remove(2)
#{3,4}
s.update([1,2])
#{1,2,3,4},这里有一个小细节,在使用update,add添加元素的时候,集合会根据元素的大小按升序自动排列好,并且插入到合适的位置。
求两个集合间交集
使用“&”符号,返回的也是一个集合。
s1 = set([1,2,3])
s2 = set([2,3,4,5])
print(s1 & s2)
#{2,3}
求两个集合间并集
使用 "|"符号,返回的是一个集合。
s1 = set([1,2,3])
s2 = set([2,3,4,5[)
print(s1 | s2)
#{1,2,3,4,5}
求两个集合的差集
使用"-"符号,返回一个集合。
s1 = set([1,2,3])
s2 = set([2,3,4,5])
print(s1 - s2)
#{1}
元组
元组一旦被定义就不允许再改变了,可以存储任意类型数据。
值得注意的是,如果元组中包含一个列表,那么列表中的元素可以改变。
元组的创建
直接使用小括号创建。
不过有一个小细节,当元组中只有一个元素的时候,必须要在最后加一个","来区分。
否则就会被认为是一个整数,而不是一个元组。
s = (1,2)
print(s)
#(1,2)
s = (1)
print(s)
#1,注意此时s被当作一个整数而不是一个元组了。
s = (1,)
print(s)
#(1,),此时s才被当作一个元组。
元组的连接
值得注意的是,元组虽然不能改变,但是元组可以做连接。
s = (1,2)
print((1,2) + s)
#(1,2,1,2)
元组计数、索引、排序
元组的计数、索引、排序都跟列表的使用方法一致。
count(),index(),sort()
接收多个参数(解包)
在元组解包中比较有意思。
scores = (65,89,59,78,100)
minscore,*middlescore,maxscore = scores ##将第一个参数赋值给minscore,最后一个参数赋值给maxscore,其余参数所有赋给middlescore
print(minscore)#65
print(middlescore)#[89,59,78]
print(maxscore)#100
字典
字典是四种结构中,读取速度最快的一种结构。
字典创建
d = {'name':'xiaohong','age':18}
d = dict()
字典的增加
字典[新的key] = 值。
如果key在原字典中已经存在则修改,否则则添加。
update()函数,一般用作两个字典的拼接,如果update的字典中已存在某个键值对,则修改。
d = {'name':'xiaoming', 'age': 18}
d['gender'] = '男'
print(d)
#{'name': 'xiaoming', 'age': 18, 'gender': '男'}
d.update({'id': '001', 'color': 'yellow', 'name': 'rose'})
print(d)
#{'name': 'rose', 'age': 18, 'gender': '男', 'id': '001', 'color': 'yellow'}
字典的删除
del()在字典中遵循查找"键"的方式进行删除,并且返回这一个键所对应的值!
clear()清空字典。
pop(obj)删除指定键的键值对,必须有一个obj参数否则报错,而且必须是键,不能是一个索引!
popitem()删除最后一个键值对。并且以元组的形式返回键值对。
d = {'name': 'xiaoming', 'age': 18}
d.pop('name')
print(d)
#{'age':18}
d = {'name': 'xiaoming', 'age': 18}
print(d.popitem())
#('age': 18)
字典的查询,重要!!!!
get(key,None)函数,查询一个键,返回这个键的值,不存在时不报错,可以默认返回None,也可以指定返回大小。
keys()函数,获取所有键。
values()函数,获取所有值。
items()函数,获取所有键值对并且以元组的格式返回。
d = {'name': '小明', 'age': 18, 'gender': '男', 'id': '001'}
print(d.get('name')) #小明
print(d.get('2b',520)) #520,指定返回值,返回为520.
print(d.keys()) #dict_keys(['name', 'age', 'gender', 'id'])
print(d.values()) #dict_values(['小明', 18, '男', '001'])
print(d.items()) #dict_items([('name', '小明'), ('age', 18), ('gender', '男'), ('id', '001')])
相关文章:
Python四种基本结构的操作
列表 列表的创建有两种方法 SampleList [] SampleList list() 列表中元素的添加 append(obj):在列表末尾添加元素obj extend(seq):在列表末尾添加多个值,使用extend()函数,seq是一个可迭代对象,否则报错。 Inser…...
Eureka:com.netflix.discovery.TimedSupervisorTask - task supervisor timed out
1、原因是spring cloud netflix中,某个服务挂掉了或者是执行某个任务时间过长,而没有发送给Eureka心跳 ,导致调用不到指定的服务,所以检查被调用服务器是否有问题。 2、有可能是某一个微服务自身内部G了,导致没有向eu…...
1.spark standalone环境安装
概述 环境是spark 3.2.4 hadoop版本 3.2.4,所以官网下载的包为 spark-3.2.4-bin-hadoop3.2.tgz 在具体安装部署之前,需要先下载Spark的安装包,进到 spark的官网,点击download按钮 使用Spark的时候一般都是需要和Hadoop交互的&a…...
【问题解决】 avue dicUrl 动态参数加载字典数据(已解决)
事情是这样的,用了avue-crud组件,配置了一个option。 现在有一列source属性要展示为 多选的下拉框 ,当然问题不在这而在于,选项是需要根据同级别属性id去拿的。也就是option.column.source 的配置中 需要该行的option.col…...
学习一下,什么是预包装食品?
预包装食品,指预先定量包装或者制作在包装材料和容器中的食品;包括预先定量包装以及预先定量制作在包装材质和容器中并且在一定量限范围内具有统一的质量或体积标识的食品。简单说, 就是指在包装完成后即具有确定的量值,这一确定的…...
从零开始学习搭建量化平台笔记
从零开始学习搭建量化平台笔记 本笔记由纯新手小白开发学习记录,欢迎大佬请教指点留言,有空的话还可以认识一下,来上海请您喝咖啡~~ 2023/10/30:上份工作辞职并休息了几个月后,打算开始找个关于量化投资相关的工作。面…...
【whisper】在python中调用whisper提取字幕或翻译字幕到文本
最近在做视频处理相关的业务。其中有需要将视频提取字幕的需求,在我们实现过程中分为两步:先将音频分离,然后就用到了whisper来进行语音识别或者翻译。本文将详细介绍一下whisper的基本使用以及在python中调用whisper的两种方式。 一、whispe…...
git diff对比差异时指定或排除特定的文件和目录
文章目录 前言git diff指定或者排除文件指定文件和目录排除文件和目录 番外篇总结 前言 你一般什么时候会用GPT? 居然会有这种话题,答案就是作为程序员的我天天在用,虽然GPT有个胡说八道的毛病,但试试总没错的,就比如今天题目中这…...
数据结构介绍与时间、空间复杂度
数据结构介绍 什么是数据结构?什么是算法?数据结构和算法的重要性 数据结构定义 数据结构是计算机科学中研究数据组织、存储和管理的一门学科。数据结构描述了数据对象之间的关系,以及对数据对象进行操作的方法和规则。 常见的数据结构 数…...
(c语言进阶)字符串函数、字符分类函数和字符转换函数
一.求字符串长度 1.strlen() (1)基本概念 头文件:<string.h> (2)易错点:strlen()的返回值为无符号整形 #include<stdio.h> #include<string.h> int main() {const char* str1 "abcdef";const char* str2 "bbb&q…...
解决MySQL大版本升级导致.Net(C#)程序连接报错问题
数据库版本从MySQL 5.7.21 升级到 MySQL8.0.21 数据升级完成后,直接修改程序的数据库连接配置信息 <connectionStrings> <add name"myConnectionString" connectionString"server192.168.31.200;uidapp;pwdFgTDkn0q!75;databasemail;&q…...
Java 将对象List转为csv文件并上传远程文件服务器实现方案
问题情景: 最近项目中遇到了根据第三方系统传递过来的参数,封装为List<实体类对象>后,将该实体类转换为csv文件,然后上传到远程的sftp服务器指定目录的需求。 实现思路: List<实体类对象>转为csv文件的…...
分享8个分布式Kafka的使用场景
Kafka 最初是为海量日志处理而构建的。它保留消息直到过期,并让消费者按照自己的节奏提取消息。与它的前辈不同,Kafka 不仅仅是一个消息队列,它还是一个适用于各种情况的开源事件流平台。 1. 日志处理与分析 下图显示了典型的 ELK࿰…...
【再见了暗恋对象 朋友们看完之后的一些感悟】
【再见了暗恋对象】写完之后魏野是我的第一个读者,魏野的反应是:这就是青春啊,喜欢了一个不喜欢自己的人而且男生觉得很困扰女孩子喜欢被牵引着走,但是男孩子牵引就是因为不喜欢这个女孩子,好可怜!青春就这…...
JSON和Protobuf序列化
文章目录 一、粘包和拆包1、半包问题2、半包现象原理 二、JSON协议通信1、通用类库2、JSON传输的编码器和解码器 三、Protobuf协议通信1、一个简单的proto文件的实践案例2、生成POJO和Builder3、消息POJO和Builder的使用案例1)构造POJO消息对象2)序列化和…...
lambda表达式 - c++11
文章目录: lambda表达式概念lambda表达式语法函数对象与lambda表达式 lambda表达式概念 lambda 表达式是 c11 中引入的一种匿名函数,它可以在需要函数对象的地方使用,可以用作函数参数或返回值。lambda 表达式可以看作是一种局部定义的函数对…...
509. 斐波那契数
斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0,F(1) 1 F(n) F(n - 1) F(n - 2),其中 n > 1给定 n &a…...
四、[mysql]索引优化-1
目录 前言一、场景举例1.联合索引第一个字段用范围查询不走索引(分情况)2.强制走指定索引3.覆盖索引优化4.in和or在表数据量比较大的情况会走索引,在表记录不多的情况下会选择全表扫描5.like 后% 一般情况都会走索引(索引下推) 二、Mysql如何选择合适的索…...
PyTorch入门学习(九):神经网络-最大池化使用
目录 一、数据准备 二、创建神经网络模型 三、可视化最大池化效果 一、数据准备 首先,需要准备一个数据集来演示最大池化层的应用。在本例中,使用了CIFAR-10数据集,这是一个包含10个不同类别图像的数据集,用于分类任务。我们使…...
0基础学习PyFlink——用户自定义函数之UDF
大纲 标量函数入参并非表中一行(Row)入参是表中一行(Row)alias PyFlink中关于用户定义方法有: UDF:用户自定义函数。UDTF:用户自定义表值函数。UDAF:用户自定义聚合函数。UDTAF&…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
在 Spring Boot 项目里,MYSQL中json类型字段使用
前言: 因为程序特殊需求导致,需要mysql数据库存储json类型数据,因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...
