当前位置: 首页 > news >正文

掌握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]: TrueIn [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]: 14In [20]: mystr2=mystr[:2:1]In [21]: mystr2
Out[21]: '天色'

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

http://www.lryc.cn/news/104348.html

相关文章:

  • 给定长度值length,把列表切分成每段长度为length的N段列表,Kotlin
  • leetcode每日一题Day2——344. 反转字符串
  • ISP记1
  • 无线蓝牙耳机有什么值得耳机买的?几款值得买的口碑品牌盘点
  • 异步检索在 Elasticsearch 中的理论与实践
  • 了解Unity编辑器之组件篇Physics 2D(十二)
  • [Pytorch]手写数字识别——真·手写!
  • android studio 找不到符号类 Canvas 或者 错误: 程序包java.awt不存在
  • AWS——02篇(AWS之服务存储EFS在Amazon EC2上的挂载——针对EC2进行托管文件存储)
  • FFmpeg 打包mediacodec 编码帧 MPEGTS
  • 软件测试如何推进项目进度?
  • 首次尝试鸿蒙开发!
  • 前端面试题-react
  • EIP-2535 Diamond standard 实用工具分享
  • 【LangChain】向量存储(Vector stores)
  • Debian/Ubuntu 安装 Chrome 和 Chrome Driver 并使用 selenium 自动化测试
  • [SQL挖掘机] - 窗口函数 - 合计: with rollup
  • 远程控制平台一之推拉流的实现
  • RTT(RT-Thread)线程管理(1.2W字详细讲解)
  • 你真的会自动化吗?Web自动化测试-PO模式实战,一文通透...
  • C# 使用堆栈实现队列
  • git操作:修改本地的地址
  • 【以图搜图】Python实现根据图片批量匹配(查找)相似图片
  • 【无标题】JSP--Java的服务器页面
  • 【Linux】进程间通信——system V共享内存 | 消息队列 | 信号量
  • CentOS实现html转pdf
  • 【C++】基于多设计模式下的同步异步日志系统
  • 防火墙监控工具
  • 组合模式——树形结构的处理
  • 从实体按键看 Android 车载的自定义事件机制