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

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

文章目录

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

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

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

bash 复制代码
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中
bash 复制代码
In [1]: mylist = [12,123,23,123,"今天下小雨"]
In [4]: mylist2=mylist[0:3]

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

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

bash 复制代码
<list变量名>[开始下标 : 结束下标]

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

2.2 如何"取到尽头"

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

bash 复制代码
In [1]: mylist = [12,123,23,123,"今天下小雨"]
In [6]: mylist3 = mylist[1:]

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

2.3 按照步长取元素

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

bash 复制代码
<list>[开始下标:结束下标:步长]

举例:

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

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

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

2.4 逆序取值

bash 复制代码
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,他可以用于确定容器中的元素个数

bash 复制代码
len(<容器变量名>)

举例:

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

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

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

bash 复制代码
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,因此也支持切片等操作

bash 复制代码
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操作

相关推荐
怪奇云呼军40 分钟前
知识库也会注入指令?闪电智能VoiceAgent 如何防住 Prompt Injection
人工智能·python·算法·云计算·音视频
zmzb01032 小时前
Python课后习题训练记录Day194
python·opencv·计算机视觉
benchmark_cc2 小时前
批量获取量化数据时,如何设置合理的超时和重试机制?——QuantDash 高性能实战指南
开发语言·人工智能·python·pandas·量化·quantdash
2601_966949652 小时前
使用 Pandas 读取批量数据时如何避免内存溢出?QuantDash 量化数据工程师避坑指南
开发语言·python·pandas·tushare·akshare·quantdash
65岁退休Coder2 小时前
LangChain v1.3.4 笔记 - 08 MCP & 相关概念
后端·python·langchain
wdloumiga3 小时前
使用 Construct 3零基础做一些2D小游戏
python·游戏·游戏2d
用户8356290780513 小时前
使用 Python 查找和替换 Word 文档中的文本
后端·python
黑马水牛4 小时前
Carla仿真系列:9_Carla 单目障碍物测距,四种方法原理与实测
经验分享·python·深度学习·计算机视觉·ros·传感器·carla仿真
Python私教4 小时前
多个项目怎么安全合并?适配层、双轨验证与可回滚切换
python·软件架构·系统迁移
船厂电气自动化ai大模型4 小时前
AI大模型与数学第42课:泰勒级数完整展开(神经网络近似核心)
人工智能·python·深度学习·算法·机器学习