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

相关推荐
花酒锄作田7 小时前
FastAPI 使用 session 认证
python·fastapi
lsswear7 小时前
Python 并发 线程
开发语言·python
Ivanqhz7 小时前
MLIR OpBuilder
开发语言·python·mlir
威联通安全存储9 小时前
TS-h2287XU-RP 在家电制造总装与质检数据场景的部署
python·制造
泡泡鱼(敲代码中)10 小时前
Python 字符串 str 完整学习笔记
python·学习
troy12810 小时前
Python 基础语法(八):Web 后端开发、数据分析与可视化、网络爬虫、人工智能 / 大模型应用
前端·python·数据分析
我不会起名字32210 小时前
一天一道算法题(34):回溯法的经典例题(子集)
java·数据结构·python·算法·golang·深度优先·力扣
ThornArmor11 小时前
重铸1996|肉体渲染:关节的裂缝:分段模型积木拼装与未成熟的 RSP 矩阵骨骼动画形变
c语言·汇编·c++·python·硬件架构·游戏机
毕业设计70311 小时前
(免费领源码)基于Python的博物馆研学活动管理系统的设计与实现22724- java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
python·mysql·随机森林·pycharm·django·flask·推荐算法
kyrie_sakura11 小时前
python学习笔记15 -- Anaconda,Jupyter,numpy
python·学习·jupyter·numpy