掌握Python的X篇_16_list的切片、len和in操作

接上篇掌握Python的X篇_15_list容器的基本使用,本篇进行进一步的介绍。

文章目录

  • 1. list的索引下标可以是负数
  • 2. 切片(slice)
    • 2.1 切片基础知识
    • 2.2 如何“取到尽头”
    • 2.3 按照步长取元素
    • 2.4 逆序取值
  • 3. len函数获取lis的元素个数
  • 4. in操作符判断元素是否在list中
  • 5. 和list类似的数据类型

1. list的索引下标可以是负数

Python中的list中的下标,可以是负数,代表着“倒数第n个”。

In [1]: mylist = [12,123,23,123,"今天下小雨"]

In [2]: mylist[-1]
Out[2]: '今天下小雨'

In [3]: mylist[-2]
Out[3]: 123

2. 切片(slice)

2.1 切片基础知识

  • 所谓的切片,就是返回list中的一部分(子集)
  • 切片(slice)不仅是针对list,而是对Python中所有线性数据结构都可以使用,常用的还是list中
In [1]: mylist = [12,123,23,123,"今天下小雨"]
In [4]: mylist2=mylist[0:3]

In [5]: mylist2
Out[5]: [12, 123, 23]

可以看出,对于mylist进行切片操作,实际:

<list变量名>[开始下标 : 结束下标]

会返回,从开始下标到结束下标之间的子集(左闭右开)

2.2 如何“取到尽头”

如果省掉开始或者结束下标,意味着“取到尽头”

In [1]: mylist = [12,123,23,123,"今天下小雨"]
In [6]: mylist3 = mylist[1:]

In [7]: mylist3
Out[7]: [123, 23, 123, '今天下小雨']

2.3 按照步长取元素

实际上,对于slice操作,是可以赋值3个数字的,其中步长代表是按照步长去取值

<list>[开始下标:结束下标:步长]

举例:

In [1]: mylist = [12,123,23,123,"今天下小雨"]
In [8]: mylist4=mylist[0:4:2]

In [9]: mylist4
Out[9]: [12, 23]

实际上,当我们省掉切片操作的步长时,默认步长为1

2.4 逆序取值

In [1]: mylist = [12,123,23,123,"今天下小雨"]
In [10]: mylist5=mylist[4::-1]
In [11]: mylist5
Out[11]: ['今天下小雨', 123, 23, 123, 12]
In [12]: mylist5=mylist[::-1]

In [13]: mylist5
Out[13]: ['今天下小雨', 123, 23, 123, 12]

3. len函数获取lis的元素个数

在Python中有内置函数len,他可以用于确定容器中的元素个数

len(<容器变量名>)

举例:

In [1]: mylist = [12,123,23,123,"今天下小雨"]
In [14]: len(mylist)
Out[14]: 5

4. in操作符判断元素是否在list中

使用in操作,可以快速判断list中是否含有某个元素,返回结果是True或者False

In [1]: mylist = [12,123,23,123,"今天下小雨"]
In [15]: 123 in mylist
Out[15]: True

In [16]: 66 in mylist
Out[16]: False

5. 和list类似的数据类型

list其实只是序列类型(sequence)中的一种。
Python中还有其他的序列类型,他们与list类似,也支持len、in、切片等操作
在这里插入图片描述
tuple可以看做只可读不可写的list
range和list差不多

以字符串为例,他实际也是list,因此也支持切片等操作

In [17]: mystr = "天色蒙蒙,小雨飘飘,细风阵阵"
In [18]: mystr
Out[18]: '天色蒙蒙,小雨飘飘,细风阵阵'

In [19]: len(mystr)
Out[19]: 14

In [20]: mystr2=mystr[:2:1]

In [21]: mystr2
Out[21]: '天色'

6.学习视频:list的切片、len和in操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/51416.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自动驾驶感知系统--惯性导航定位系统

惯性导航定位 惯性是所有质量体本身的基本属性&#xff0c;所以建立在牛顿定律基础上的惯性导航系统&#xff08;Inertial Navigation System,INS&#xff09;(简称惯导系统)不与外界发生任何光电联系&#xff0c;仅靠系统本身就能对车辆进行连续的三维定位和三维定向。卫星导…

【嵌入式Linux项目】基于Linux的全志H616开发板智能家居项目(语音控制、人脸识别、安卓APP和PC端QT客户端远程操控)有视频功能展示

目录 一、功能需求 二、开发环境 1、硬件&#xff1a; 2、软件&#xff1a; 3、引脚分配&#xff1a; 三、关键点 1、设计模式之工厂模式 2、wiringPi库下的相关硬件操作函数调用 3、语音模块的串口通信 4、线程 5、摄像头的实时监控和拍照功能 6、人脸识别 四、编…

Python web实战 | 使用 Django 搭建 Web 应用程序 【干货】

概要 从社交媒体到在线购物&#xff0c;从在线银行到在线医疗&#xff0c;Web 应用程序为人们提供了方便快捷的服务。Web 应用程序已经成为了人们日常生活中不可或缺的一部分。搭建一个高效、稳定、易用的 Web 应用程序并不是一件容易的事情。本文将介绍如何使用 Django 快速搭…

Python基础入门教程(上)

目录 一、你好Python 1.1、Python安装 win版 Linux版 1.2、第一个Python程序 二、Python基本语法 2.1、字面量 2.2、注释 2.3、变量 2.4、数据类型 type()函数 字符串类型的不同定义方式 2.5、数据类型转换 ​编辑 2.6、标识符 2.7、运算符 2.8、字符串扩展 …

Linux安装kafka3.5.1

要在Ubuntu上安装Apache Kafka&#xff0c;请按照以下步骤操作&#xff1a; 1、安装Java运行时环境(Ubuntu)&#xff1a; 如果已经安装jdk不用执行 sudo apt update sudo apt install default-jre2、下载Kafka&#xff1a; wget https://downloads.apache.org/kafka/3.5.1/…

【【51单片机的红外遥控】】

红外遥控&#xff0c;完全把控 红外遥控 利用红外光进行通信的设备&#xff0c;由红外LED将调制后的信号发出&#xff0c;再由专门的红外接收头进行解调输出 通信方式&#xff1a;单工 异步 红外LED波长&#xff1a;940nm 通信协议标准&#xff1a;NEC标准 用那种一体化红红外…

下级平台级联视频汇聚融合平台EasyCVR,层级显示不正确的原因排查

视频汇聚平台安防监控EasyCVR可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等&#xff0c;以及厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等&#xff0c;能对外分发RTSP、RTMP、FLV、HLS、WebRTC等…

如何使用 After Effects 导出摄像机跟踪数据到 3ds Max

推荐&#xff1a; NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 在本教程中&#xff0c;我将展示如何在After Effects中跟踪实景场景&#xff0c;然后将相机数据导出到3ds Max。 1. 项目设置 步骤 1 打开“后效”。 打开后效果 步骤 2 转到合成>新合成以创建新合…

Rust vs Go:常用语法对比(十二)

题图来自 Rust vs Go in 2023[1] 221. Remove all non-digits characters Create string t from string s, keeping only digit characters 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. 删除所有非数字字符 package mainimport ( "fmt" "regexp")func main() { s : hei…

运行时数据区

点击下方关注我&#xff0c;然后右上角点击...“设为星标”&#xff0c;就能第一时间收到更新推送啦~~~ 类文件被类装载器加载之后&#xff0c;类中的内容&#xff08;比如&#xff1a;变量、常量、方法、对象等&#xff09;这些数据需要存储起来&#xff0c;存储的位置就是在 …

RabbitMQ 教程 | 客户端开发向导

&#x1f468;&#x1f3fb;‍&#x1f4bb; 热爱摄影的程序员 &#x1f468;&#x1f3fb;‍&#x1f3a8; 喜欢编码的设计师 &#x1f9d5;&#x1f3fb; 擅长设计的剪辑师 &#x1f9d1;&#x1f3fb;‍&#x1f3eb; 一位高冷无情的编码爱好者 大家好&#xff0c;我是 DevO…

JMeter常用内置对象:vars、ctx、prev

在前文 Beanshell Sampler 与 Beanshell 断言 中&#xff0c;初步阐述了JMeter beanshell的使用&#xff0c;接下来归集整理了JMeter beanshell 中常用的内置对象及其使用。 注&#xff1a;示例使用JMeter版本为5.1 1. vars 如 API 文档 所言&#xff0c;这是定义变量的类&a…

【点云处理教程】04 Python 中的点云过滤

一、说明 这是我的“点云处理”教程的第 4 篇文章。“点云处理”教程对初学者友好&#xff0c;我们将在其中简单地介绍从数据准备到数据分割和分类的点云处理管道。 在本教程中&#xff0c;我们将学习如何使用 Open3D 在 python 中过滤点云以进行下采样和异常值去除。使用 Open…

Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集

Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集 前言相关介绍COCO格式实例分割数据集转换为YOLO格式实例分割数据集coco格式对应的json文件&#xff0c;以test.json为例格式转换代码&#xff0c;内容如下 前言 由于本人水平有限&#xff0c;难免出现错漏&#xf…

【JAVASE】什么是方法

⭐ 作者&#xff1a;小胡_不糊涂 &#x1f331; 作者主页&#xff1a;小胡_不糊涂的个人主页 &#x1f4c0; 收录专栏&#xff1a;浅谈Java &#x1f496; 持续更文&#xff0c;关注博主少走弯路&#xff0c;谢谢大家支持 &#x1f496; 方法 1. 方法概念及使用1.1 什么是方法1…

Vue『卡片拖拽式课程表』

Vue『卡片拖拽式课程表』 概述 在本篇技术博客中&#xff0c;我们将介绍一个使用Vue实现的『卡片拖拽式课程表』。这个课程表允许用户通过拖拽课程卡片来安排不同的课程在时间表上的位置。我们将逐步讲解代码实现&#xff0c;包括课程表的布局、拖拽功能的实现&#xff0c;以…

6G内存运行Llama2-Chinese-7B-chat模型

6G内存运行Llama2-Chinese-7B-chat模型 Llama2-Chinese中文社区 第一步&#xff1a; 从huggingface下载 Llama2-Chinese-7b-Chat-GGML模型放到本地的某一目录。 第二步&#xff1a; 执行python程序 git clone https://github.com/Rayrtfr/llama2-webui.gitcd llama2-web…

QtC++ 技术分析3 - IOStream

目录 iostreamscanf/printfiostream 整体架构流相关类流缓冲区 模板特化后整体结构文件流文件流对象创建常见文件流操作输出格式设定文件流状态 字符串流字符串流内部缓冲区字符串流使用 流缓冲区用户自定义 IO iostream scanf/printf 几种常见的输入输出流函数 scanf 从键盘…

操作系统4

文件管理 文件的逻辑结构 文件的目录 文件的物理结构 文件存储空间管理 文件的基本操作

【深度学习】以图搜索- 2021sota repVgg来抽取向量 + facebook的faiss的做特征检索, 从环境搭建到运行案例从0到1

文章目录 前言安装小试牛刀用repVgg抽取向量构建Faiss索引进行相似性搜索项目延伸总结 前言 Faiss的全称是Facebook AI Similarity Search。 这是一个开源库&#xff0c;针对高维空间中的海量数据&#xff0c;提供了高效且可靠的检索方法。 暴力检索耗时巨大&#xff0c;对于…