广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python列表的索引与切片
  • 278
分享到

Python列表的索引与切片

2024-04-02 19:04:59 278人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录什么是索引?什么是切片?列表的索引,获取与修改通过 pop() 函数删除索引通过 del 删除索引索引在元组中的特殊性什么是索引? 哪些数据类型里有索引的概念? —&

什么是索引?

  • 哪些数据类型里有索引的概念? —> 字符串、列表、元组
  • 从最左边记录的位置开始就是索引
  • 索引用数字表示,起始位是从 0 开始
  • 字符串、列表、元组的最大索引是他们的长度 - 1

示例如下:

names = ['Neo', 'Jack', 'Adem']
print(names[0])            # >>> Neo
print(names[-1])        # >>> Adem
print(names[5])            # IndexError: list index out of range    没有索引为5的元素,所以报错

什么是切片?

  • 索引用来对单个成员(元素)进行访问,切片则是对一定范围内的成员(元素)进行访问
  • 切片通过冒号的方式在中括号内把相隔的两个索引位置范围内的成员(元素)找出来,如 [0:10]
  • 切片的规则:左含,右不含; 左边包含,右边不包含
  • 通过切片方式获取的完整的列表已经不再是原来的列表了,即使获取的是原来列表的完整的内容

示例如下:

num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(num_list[3:7])

执行结果如下:

>>> [4, 5, 6, 7]

获取列表的完整内容如下:

names = ['Neo', 'Jack', 'Adem']
print('names 列表完整的内容是:', names[:])
print('names 列表完整的内容是:', names[0:])

执行结果如下:

>>> names 列表完整的内容是: ['Neo', 'Jack', 'Adem']
 >>> names 列表完整的内容是: ['Neo', 'Jack', 'Adem']

通过切片方式获取的完整的列表已经不再是原来的列表了,即使获取的是原来列表的完整的内容,

示例如下:

names = ['Neo', 'Jack', 'Adem', 'Lily']
print('\'names\' 列表的内存地址为:', id(names))
print('索引获取的完整\'names\' 列表的内存地址为:', id(names[0:]))

# 执行结果如下:
# >>> 'names' 列表的内存地址为: 140522949689152
# >>> 索引获取的完整'names' 列表的内存地址为: 140522949686656 

反序获取列表成员(元素),示例如下:

num_list = [1, 2, 3, 4, 5, 6, 7, 8]
print(num_list[::-1])       # 列表的反序
print(num_list[-3:-1])      # 列表的反向获取
print(num_list[0:8:2])      # 列表的步长获取:【每隔2步长(也可以理解为每两个数值)获取索引0到8的元素】

# 执行结果如下:
# >>> [8, 7, 6, 5, 4, 3, 2, 1]
# >>> [6, 7]
# >>> [1, 3, 5, 7]

切片生成空列表,示例如下:

num_list = [1, 2, 3, 4, 5, 6, 7, 8]
print(num_list[0:0]) 

# 执行结果如下:
# >>> []

列表的索引,获取与修改

  • list.index(item) 列表通过 index() 函数,传入一个元素来获取当前元素的索引值
  • list[index] = new_item ; list[index]为变量对应的索引的值; new_item 为一个新的元素
  • 数据修改的范围只能是已存在的索引范围内
  • 列表无法通过添加新的索引的方式赋值

示例如下:

test_str = ['a', 'b', 'c', 'd']
print(test_str.index('c'))

# 执行结果如下:
# >>> 2            'c' 的索引位置是 2


test_str = ['a', 'b', 'c', 'd']
print(test_str.index('e'))

# 执行结果如下:
# >>> ValueError: 'e' is not in list
test_str = ['a', 'b', 'c', 'd']
test_str[0]='z'
print(test_str)

# 执行结果如下:
# >>> ['z', 'b', 'c', 'd']


test_str = ['a', 'b', 'c', 'd']
test_str[:]='h', 'j', 'k', 'l'
print(test_str)

# 执行结果如下:
# >>> ['h', 'j', 'k', 'l']


test_str = ['a', 'b', 'c', 'd']
test_str[:]=['o', 'p', 'q', 'r']
print(test_str)

# 执行结果如下:
# >>> ['o', 'p', 'q', 'r']
test_str = ['a', 'b', 'c', 'd']
test_str[5]='z'
print(test_str)

# 执行结果如下:
# >>> IndexError: list assignment index out of range

通过 pop() 函数删除索引

pop() 函数的功能:通过索引删除并获取列表的元素

pop() 函数的用法: list.pop(index) , index 为删除列表的第几个元素

  • 函数会删除该索引的元素并返回
  • 如果传入的 index 索引不存在,则会报错

示例如下:

names = ['Neo', 'Jack', 'Adem', 'Lily']
pop_item = names.pop(1)
print('删除的元素为:', pop_item, ', 被删除后的\'names\'列表为:', names)

# 执行结果如下:
# >>> 删除的元素为: Jack , 被删除后的'names'列表为: ['Neo', 'Adem', 'Lily']


names = ['Neo', 'Jack', 'Adem', 'Lily']
pop_item = names.pop(5)
print(names)

# 执行结果如下:
# >>> IndexError: pop index out of range

通过 del 删除索引

del 函数的功能:通过索引删除并获取列表的元素

del 函数的用法: del list(index) , index 为删除列表的第几个元素

  • 直接删除,无返回值
  • 如果传入的 index 索引不存在,则会报错

示例如下:

names = ['Neo', 'Jack', 'Adem', 'Lily']
del names[0]
print(names)

# 执行结果如下:
# >>> ['Jack', 'Adem', 'Lily']


names = ['Neo', 'Jack', 'Adem', 'Lily']
del names[0]
print(names)

# 执行结果如下:
# >>> IndexError: list assignment index out of range

索引在元组中的特殊性

  • 可以和列表 一样获取索引与切片索引
  • 元组函数 index 和列表的用法完全一致
  • 无法通过索引修改、删除元素(因为元组是不可修改的)

到此这篇关于python列表的索引与切片的文章就介绍到这了,更多相关Python 索引与切片内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python列表的索引与切片

本文链接: https://www.lsjlt.com/news/117151.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python列表的索引与切片
    目录什么是索引?什么是切片?列表的索引,获取与修改通过 pop() 函数删除索引通过 del 删除索引索引在元组中的特殊性什么是索引? 哪些数据类型里有索引的概念? —&...
    99+
    2022-11-10
  • Python列表的索引与切片怎么实现
    今天小编给大家分享一下Python列表的索引与切片怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。什么是索引?哪些数据...
    99+
    2023-06-29
  • python中列表的索引与切片实例分析
    这篇文章主要介绍了python中列表的索引与切片实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python中列表的索引与切片实例分析文章都会有所收获,下面我们一起来看看吧。python中列表的常见操作列...
    99+
    2023-07-02
  • 如何使用Python中的列表切片和索引
    如何使用Python中的列表切片和索引列表是Python中常用的数据结构之一,可以存储多个元素。在实际开发中,经常需要对列表进行操作,其中列表切片和索引是非常常用的功能。本文将介绍如何使用Python中的列表切片和索引,并提供具体的代码示例...
    99+
    2023-10-22
    Python 列表 切片和索引
  • Python字符串的索引与切片
    目录1、字符串的索引与获取2、字符串的 find 与 index 函数1、字符串的索引与获取 字符串的索引方式与列表的索引方式是一样的。只不过列表是每个元素的自身就有一个索引位置,而...
    99+
    2022-11-10
  • python 实现列表的切片操作允许索引超出范围
    其余的不说, 列表切片操作允许索引超出范围: 补充:关于python3报错列表索引超出界限的解决方法 python3报错: IndexError: list index out of rang 这个可能是因为...
    99+
    2022-06-02
    python 列表切片 索引超出范围
  • pandas---Series与DataFrame索引、切片;多层索引、索引的堆叠
    1. Series的索引和切片 1.1 Series的索引: 可以使用中括号取单个索引(此时返回的是元素类型),或者中括号里一个列表取多个索引(此时 返回的仍然是一个Series类型)。分为显示索引和隐式索引: (1) 显式索引: 使用in...
    99+
    2023-09-09
    pandas python numpy
  • [Python列表]-索引
       前言 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 Python有6个序列的内置类型,但最常见的是列表和元组。 序列都可以进行的操作包括索引...
    99+
    2023-01-31
    索引 列表 Python
  • Python 列表切片详解
    一、列表切片      切指–将某些东西切成小块。列表切片是从原始列表中提取列表的一部分的过程。在列表切片中,我们将根据所需内容(如,从何处开始,结束以及增量进行切片)剪切列表。      Python中符合序列的有序序列都支持切片(sli...
    99+
    2023-09-24
    python 开发语言
  • python列表的切片与复制示例分析
    大家可以先参考python切片复制列表的知识点详解这篇内容,对知识点用法有个了解 切片,即处理一个完整列表中部分数据。 语法 变量[起始索引:终止索引:步长] 首先创建一个字符串...
    99+
    2022-11-12
  • Python的索引与切片原来该这样理解
    目录1. 普通索引:取一个元素1.1 正索引1.2 负索引2 切片索引:取多个元素2.1 切片索引中[0]可以省略不写:2.2 切片索引中最后一位可以不写:2.3 列表、元组和字符串...
    99+
    2022-11-13
  • Python字符串的索引与切片实例分析
    这篇“Python字符串的索引与切片实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python字符串的索引与切片实例...
    99+
    2023-06-29
  • NumPy下的索引与切片的用法
    这篇文章主要讲解了“NumPy下的索引与切片的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“NumPy下的索引与切片的用法”吧!前言索引和切片是NumPy中最重要最常用的操作。熟练使用N...
    99+
    2023-06-20
  • python如何使用负数索引切割列表
    这篇文章主要介绍了python如何使用负数索引切割列表,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。负数索引切割列表>>>...
    99+
    2022-10-19
  • python基础知识之索引与切片详解
    目录基本索引嵌套索引切片numpy.array 索引 一维numpy.array 索引 二维pandas Series 索引pandas DataFrame 索引填坑总结基本索引 I...
    99+
    2022-11-13
  • python切片怎么进行索引
    这篇文章将为大家详细讲解有关python切片怎么进行索引,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最...
    99+
    2023-06-14
  • Python切片会索引越界吗
    本篇内容主要讲解“Python切片会索引越界吗”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python切片会索引越界吗”吧!切片主要用于序列对象中,按照索引区间截取出一段索引的内容。切片的书写...
    99+
    2023-06-22
  • Python列表的切片取值详解
    目录1. 列表的切片2. 切片的语法3. 切片取值示例3.1 步长为1的切片取值3.2 步长为3的切片取值3.3 负索引取值1. 列表的切片 索引取值可以从列表中取出1个元素。 如果...
    99+
    2022-11-11
  • Python元素集合的列表切片
    目录一、列表切片(Slicing)二、基础实例三、带有负索引的切片 (Slice with Negative Indices)四、带有正负索引的切片五、指定切片step六、负步长七、...
    99+
    2022-11-13
  • python列表切片怎么赋值
    要在Python中对列表进行切片并赋值,可以使用以下语法: list_name[start:end] = new_values 其中...
    99+
    2023-10-24
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作