python切片:使用列表的一部分

学习如何处理列表的所有元素。处理列表的部分元素——Python称之为切片。

切片

要创建切片,可指定要使用的第一个元素和最后一个元素的索引。

与函数range()一样,Python在到达指定的第二个索引前面的元素后停止。

要输出列表中的前三个元素,需要指定索引0~3,这将输出分别为0、1和2的元素。

下面的示例处理的是一个运动队成员列表:

players = [‘charles‘, ‘martina‘, ‘michael‘, ‘florence‘, ‘eli‘]

print(players[0:3])

打印该列表的一个切片,其中只包含三名队员。输出也是一个列表,其中包含前三名队员:

[‘charles‘, ‘martina‘, ‘michael‘]

可以生成列表的任何子集,例如,如果要提取列表的第2~4个元素,可将起始索引指定为1 ,并将终止索引指定为4:

players = [‘charles‘, ‘martina‘, ‘michael‘, ‘florence‘, ‘eli‘]

print(players[1:4])

这一次,切片始于‘marita‘,终于‘florence‘:

>>>

[‘martina‘, ‘michael‘, ‘florence‘]

如果没有指定第一个索引,Python将自动从列表开头开始:

players = [‘charles‘, ‘martina‘, ‘michael‘, ‘florence‘, ‘eli‘]

print(players[:4])

由于没有指定起始索引,Python从列表开头开始提取:、

>>>

[‘charles‘, ‘martina‘, ‘michael‘, ‘florence‘]

要让切片终止于列表末尾,也可使用类似的语法。

例如,如果要提取从第3个元素到列表末尾的所有元素,可将起始索引指定为2 ,并省略终止索引:

players = [‘charles‘, ‘martina‘, ‘michael‘, ‘florence‘, ‘eli‘]

print(players[2:])

Python将返回从第3个元素到列表末尾的所有元素:

>>>

[‘michael‘, ‘florence‘, ‘eli‘]

无论列表多长,这种语法都能够输出从特定位置到列表末尾的所有元素。

负数索引返回离列表末尾相应距离的元素,因此可以输出列表末尾的任何切片。

例如,如果要输出名单上的最后三名队员,可使用切片players[-3:]:

players = [‘charles‘, ‘martina‘, ‘michael‘, ‘florence‘, ‘eli‘]

print(players[-3:])

上述代码打印最后三名队员的名字,即便队员名单的长度发生变化,也依然如此。

>>>

[‘michael‘, ‘florence‘, ‘eli‘]

遍历切片

如果要遍历列表的部分元素,可在for循环中使用切片。在下面的示例中,我们遍历前三名队员,并打印他们的名字:

players = [‘charles‘, ‘martina‘, ‘michael‘, ‘florence‘, ‘eli‘]

print("Here are the first three players on my team:")

for player in players[:3]:

print(player.title())

代码没有遍历整个队员列表,而只遍历前三名队员:

>>>

Here are the first three players on my team:

Charles

Martina

Michael

在很多情况下,切片都很有用。

编写游戏时,可以在玩家退出游戏时将其最终得分加入到一个列表中。

为获取该玩家的三个最高得分,可以将该列表按降序排列,再创建一个只包含前三个得分的切片。

处理数据时,可使用切片来进行批量处理;

编写Web应用程序时,可使用切片来分页显示信息,并在每页显示数量合适的信息。

players = [‘charles‘, ‘martina‘, ‘michael‘, ‘florence‘, ‘eli‘]

print("Here are the first three players on my team:")

for player in players[:3]:

print(player.title())

print("Here are the players on my team:")

for player in players:

print(player.title())

print("Here are the players on my team:")

players=[player.title() for player in players]

for player in players:

print(player)

print(players[-3:])

>>>

Here are the first three players on my team:

Charles

Martina

Michael

Here are the players on my team:

Charles

Martina

Michael

Florence

Eli

Here are the players on my team:

Charles

Martina

Michael

Florence

Eli

[‘Michael‘, ‘Florence‘, ‘Eli‘]

>>>

原文地址:https://www.cnblogs.com/shwj/p/12642742.html

时间: 2024-10-12 09:43:15

python切片:使用列表的一部分的相关文章

Python 字符串、列表、元组、索引、切片

一.简要概述 what is list? 1.用[ 和 ]括起来,用逗号间隔每个数据项 2.数据项可是同类型数据也可以是不同类型数据(数字.字符串.浮点型) 3.list里面可以有list作为其数据项 4.数据项对应的位置为索引编号(index).默认第一个是0 5.有序的数据集合 what is string? 1.用单引号.双引号.三引号引起来. 2.字符串是一个常量不可被修改,它的主要用途就是读其元素. what is tuple? 1.元组和字符串均是不可被修改的.但是访问的方式都是一样

《Python从入门到实践》--第四章用切片操作列表 课后练习

4-10 切片 :选择你在本章编写的一个程序,在末尾添加几行代码,以完成如下任务.打印消息“Thefirst threeitems in thelistare:”,再使用切片来打印列表的前三个元素.打印消息“Threeitems fromthe middle ofthelistare:”,再使用切片来打印列表中间的三个元素.打印消息“Thelast threeitems in thelistare:”,再使用切片来打印列表末尾的三个元素.4-11 你你的的比比萨萨和和我我的的比比萨萨 :在你为完

[Python] 正确复制列表的方法

new = old[:] Python老鸟都知道以上代码是什么意思.它复制列表old到new.它对于新手来说是种困惑而且应该避免使用这种方法.不幸的是[:]标记法被广泛使用,可能是Python程序员不知道更好的列表复制法吧. 首先我们需要了解Python是如何管理对象和变量.Python没有C语言中的变量.在C语言中,变量不止是个名字,它是字节集合并真实存在于内存某个位置上.而在Python中,变量仅仅是指向对象的标签. 看看以下语句: a = [1, 2, 3] 它表示我们创建了一个指引指向列

Python数据结构:列表、元组和字典

在Python中有三种内建的数据结构——列表list.元组tuple和字典dict 列表中的项目包括在方括号中,项目之间用逗号分割 元组和列表十分类似,只不过元组和字符串一样是不可变的 即你不能修改元组.元组通过圆括号中用逗号分割的项目定义. 元组最通常的用法是用在打印语句中 age = 22 name = 'Swaroop' print '%s is %d years old' % (name, age) print 'Why is %s playing with that python?'

python基础之列表(list)

本文主要讨论python中列表的性质和列表的一些内置方法. 一.列表的定义和性质 1.列表的定义: 列表是python中的内置内的一种,在python中的类的关键字是list.列表的定义如下: li=[12.'hello',344,[12,23,'hshs']] 列表是由[]标志的.列表中的元素用","分隔开.列表的元素可以是数字,字符串,元组,字典. 2.列表的性质 (1)列表可以通过索引查找元素 li=[1,2,3,4] s=li[3] print[s] 列表的索引从0开始,最后一

python入门:列表和元组

列表与元组的主要不同在于,列表是可以修改的,元组不可以.列表适用于需要中途添加元素的情形,元组适用于出于某种考虑禁止修改序列的情形.在需要处理一系列值时,序列很有用,在数据库中,你可能使用序列来表示人,其中第一个表示姓名,第二个表示年龄.用列表表示如下: user=['Andy',20] 序列还可包含其他序列 user=['Andy',20] use=['john',21] database=[user,usr] database [['Andy', 20], ['john', 21]] dat

Python数据类型(列表和元组)

1.3 List(列表) 列表由一系列按特定顺序排列的元素组成. 在Python中,用方括号[ ]来表示列表,并用逗号来分隔其中的元素. 1.3.1 访问列表元素 在Python中,第一个列表元素的索引为0,而不是1. >>> bicycles = ['trek', 'cannondale', 'redline', 'specialized'] >>> print(bicycles[0]) trek >>> print(bicycles[3]) spe

Python 切片彻底理解

From:https://www.jianshu.com/p/15715d6f4dad 在利用python解决各种实际问题的过程中,经常会遇到从某个对象中抽取部分值的情况,切片操作正是专门用于完成这一操作的有力武器.理论上而言,只要条件表达式得当,可以通过单次或多次切片操作实现任意切取目标值.切片操作的基本语法比较简单,但如果不彻底搞清楚内在逻辑,也极容易产生错误,而且这种错误有时隐蔽得比较深,难以察觉.本文通过详细例子总结归纳了切片操作的各种情况.若有错误和不足之处请大牛指正! 一. Pyth

彻底搞懂Python切片操作

一.Python可切片对象的索引方式 Python可切片对象的索引方式包括:正索引和负索引两部分.如下图所示,以a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]为例: 二.Python切片操作的一般方式 一个完整的切片表达式包含两个“:”,用于分隔三个参数(start_index.end_index.step),当只有一个“:”时,默认第三个参数step=1. 切片操作基本表达式:object[start_index : end_index : step] step:正负数均

Python学习之列表的内部实现详解

本文和大家分享的主要是列表在 CPython中的实现,一起来看看吧,希望对大家学习python有所帮助. Python 中的列表非常强大,看看它的内部实现机制是怎么样的,一定非常有趣. 下面是一段 Python 脚本,在列表中添加几个整数,然后打印列表. >>> l = [] >>> l.append(1) >>> l.append(2) >>> l.append(3) >>> l [1, 2, 3] >>