Python 编程 | 连载 09 - 列表、元组和字符串切片

简介: Python 编程 | 连载 09 - 列表、元组和字符串切片

一、列表、元组和字符串切片

列表的索引与切片

字符串、元组和列表中从最左边记录的位置就是索引,索引用数字表示,从0开始

image.png

索引从0开始,所以最大索引为长度-1

索引是用来对单个元素进行访问,切片则是对一定反问的元素进行访问,切片通过冒号在中括号内把相隔的两个索引查找出来,切片的规则为左含右不含

nums = [1, 2, 3, 4, 5, 6, 7]
print('nums列表的最大索引是:{}'.format(len(nums) - 1))
print('索引4位置的元素是:{}'.format(nums[4]))
print('获取完整的nums列表:',nums[:])
print('第二种方法获取完整列表:',nums[0:])
print('获取除最后一个元素外的列表:', nums[:-1])
复制代码

image.png

切片起始索引默认是0,并包含索引0的元素

nums = [1, 2, 3, 4, 5, 6, 7]
new_entire_nums = nums[:]
print('原列表的id:', id(nums))
print('新列表的id:', id(new_entire_nums))
复制代码

image.png

切片获取的列表id与原列表不同,切片会生成一个新的列表

nums = [1, 2, 3, 4, 5, 6, 7]
print(nums[-3:-1])
print(nums[-7:-1])
print(nums[-7:6])
复制代码

image.png

列表中索引从右往左是从-1开始,依次为-2、-3.....

使用[]进行切片除了传入两个索引外,还可以传入第三个值既步长,步长默认为1,也就是从左往右依次的获取,如果索引为负数,就是从右往左按照步长的长度获取

nums = [1, 2, 3, 4, 5, 6, 7]
print(nums[-3:-1])
print(nums[-7:-1:3])
print(nums[-7:6:2])
print(nums[6:-7:-2])
复制代码

image.png

列表索引的获取

列表中可以通过list[index]=new_item来修改元素,数据的修改只能在存在的索引范围内,列表无法通过添加新的索引的方式赋值。

index函数可以获取元素在列表中的索引

heros = ['stark', 'peter', 'banner', 'thor', 'loki']
idx_01 = heros.index('banner')
print('banner在列表中的索引是:', idx_01)
idx_02 = heros.index('wanda')
print('wanda在列表中的索引是:', idx_02)
复制代码

image.png

查找的元素在列表中不存在时会报错

# 索引修改元素
heros = ['stark', 'peter', 'banner', 'thor', 'loki']
heros[2] = 'wanda'
print(heros)
heros[-1] = 'clint'
print(heros)
# 切片方式修改
heros[1:3] = 'hulk', 'wonder woman'
print(heros)
heros[1:3:2] = ['Captain']
print(heros)
复制代码

image.png

元组切片

  • 元组可以和列表一样通过索引获取元素和进行切片操作
  • 元组的index函数和列表的index函数用法完全一致
  • 元组无法通过索引修改和删除元素,因为元组是不可变数据类型
heros_tuple = ('stark', 'peter', 'banner', 'thor', 'loki')
peter = heros_tuple[1]
print('索引位置为1的元素是:',peter)
new_heros = heros_tuple[:]
new_heros_01 = heros_tuple[0:]
new_herso_02 = heros_tuple[:-1]
new_heros_03 = heros_tuple[::2]
new_heros_04 = heros_tuple[::-2]
print(new_heros)
print(new_heros_01)
print(new_herso_02)
print(new_heros_03)
print(new_heros_04)
复制代码

image.png

字符串的索引与切片

字符串的索引规则与列表的索引规则一致

image.png

  • 切片和索引的获取与列表相同
  • 无法通过索引修改与删除元素
  • 字符串不可修改

find函数也可以获取字符在字符串中索引的位置,index函数也可以获取字符在字符串中索引的位置,当元素不存在时find函数返回-1,index函数则会报错

info = '上海昨日新增无症状5298例'
index_01 = info.index('上海')
print(index_01)
index_02 = info.index('昨日')
print(index_02)
find_01 = info.find('5298')
print(find_01)
find_02 = info.find('背景')
print(find_02)
index_03 = info.index('背景')
print(index_03)
复制代码

image.png



相关文章
|
26天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
107 80
|
15天前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
34 14
|
22天前
|
索引 Python
Python列表
Python列表。
44 8
|
24天前
|
C语言 Python
[oeasy]python054_python有哪些关键字_keyword_list_列表_reserved_words
本文介绍了Python的关键字列表及其使用规则。通过回顾`hello world`示例,解释了Python中的标识符命名规则,并探讨了关键字如`if`、`for`、`in`等不能作为变量名的原因。最后,通过`import keyword`和`print(keyword.kwlist)`展示了Python的所有关键字,并总结了关键字不能用作标识符的规则。
31 9
|
1月前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
62 14
|
25天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
62 2
|
3月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
53 0
|
3月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (一)
Python操作:字符串--列表--元组--字典--运算符 (一)
25 0
|
3月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (二)
Python操作:字符串--列表--元组--字典--运算符 (二)
28 0
|
5月前
|
存储 数据安全/隐私保护 索引
Python基础语法day02字符串详解和列表
Python基础语法day02字符串详解和列表