掌握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操作

相关推荐
天天爱吃肉821821 分钟前
效率提升新范式:基于数字孪生的汽车标定技术革命
python·嵌入式硬件·汽车
lemon_sjdk1 小时前
Java飞机大战小游戏(升级版)
java·前端·python
格鸰爱童话1 小时前
python+selenium UI自动化初探
python·selenium·自动化
倔强青铜三2 小时前
苦练Python第22天:11个必学的列表方法
人工智能·python·面试
倔强青铜三2 小时前
苦练Python第21天:列表创建、访问与修改三板斧
人工智能·python·面试
Pi_Qiu_2 小时前
Python初学者笔记第十三期 -- (常用内置函数)
java·笔记·python
永远孤独的菜鸟3 小时前
# 全国职业院校技能大赛中职组“网络建设与运维“赛项项目方案
python
mit6.8244 小时前
[Meetily后端框架] 多模型-Pydantic AI 代理-统一抽象 | SQLite管理
c++·人工智能·后端·python
一眼万里*e4 小时前
Python 字典 (Dictionary) 详解
前端·数据库·python
mortimer5 小时前
Python 正则替换陷阱:`\1` 为何变成了 `\x01`?
python·正则表达式