python中的列表切片,python字符串的索引与切片操作
本文主要介绍Python列表的索引和切片。索引用于访问单个成员(元素),而切片用于访问一定范围的成员(元素)。下面,有需要的朋友可以参考一下。
00-1010什么是指数?什么是切片?获取并修改链表的索引,用pop()函数删除索引,用del删除元组中索引的特殊性。
目录
哪些数据类型有索引的概念?—字符串、列表和元组的索引从最左边的记录位置开始。索引用数字表示,起始位从0开始。字符串、列表和元组的最大索引是它们的长度为1的示例如下:.
names=[Neo , Jack , Adem]
print(names[0]) # Neo
print(names[-1]) # Adem
print(names[5])# indexerror :列表索引超出范围没有索引为5的元素,因此报告了一个错误。
什么是索引?
索引用于访问单个成员(元素),切片用于访问一定范围内的成员(元素)。切片用于找出括号内冒号分隔的两个索引位置范围内的成员(元素),如[0336010]切片的规则:s左和右;切片得到的完整列表不再是原始列表,即使得到了原始列表的完整内容,示例如下:.
数字列表=[1,2,3,4,5,6,7,8,9,10]
打印(编号列表[3:7])
执行结果如下:
[4, 5, 6, 7]
获取列表的完整内容如下:
names=[Neo , Jack , Adem]
打印(‘名称列表’的完整内容是:,名称[:])
打印(‘姓名列表’的完整内容为:’,姓名[0:])
执行结果如下:
姓名列表的完整内容是:[Neo , Jack , Adem]
姓名列表的完整内容是:[Neo , Jack , Adem]
通过切片获得的完整列表不再是原始列表,即使获得了原始列表的完整内容,
示例如下:
names=[Neo , Jack , Adem , Lily]
print( \ names 列表的内存地址是:,id(names))
Print(由 index is:,id(names[0:])获得的完整的 names 列表的内存地址)
#执行结果如下:
#姓名列表的存储地址是:140522949689152。
# index得到的完整‘人名’列表的内存地址为:140522949686656。
反序获取列表成员(元素),示例如下:
数字列表=[1,2,3,4,5,6,7,8]
Print (num _ list [33603360-1]) #列表的逆序
Print (num _ list [-:-1]) #清单的反向采集
Print (num _ list [033608: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 索引与切片内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。