python中令人困惑的表达式

2024-04-24 21:13:59 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有清单:

lista=[99, True, "Una Lista", [1,3]]

下面的表达式是什么意思?在

^{pr2}$

Tags: true表达式unalistapr2
3条回答

语法lista[0:4:2]被称为extended slice语法,它返回一个由索引0(包括索引)到索引4(排除索引)的元素组成的列表片段,但只包含偶数索引(步骤=2)。在

在您的示例中,它将给出[99, "Una Lista"]。更一般地说,您可以通过编写lista[::2]得到一个由偶数索引处的每个元素组成的切片。这与列表的长度无关,因为start和end参数分别默认为0和列表的长度。在

切片的一个有趣特性是,您还可以指定它们来修改原始列表,或者删除切片以从原始列表中删除元素。在

>>> x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> x[::2] = ['a', 'b', 'c', 'd', 'e']   # Assign to index 0, 2, 4, 6, 8
>>> x
['a', 1, 'b', 3, 'c', 5, 'd', 7, 'e', 9]
>>> del x[:5]                            # Remove the first 5 elements
>>> x
[5, 'd', 7, 'e', 9]

从0到3迭代列表(因为4被排除,[start,end])遍历两个元素。结果是[99, 'Una Lista'],它存储在列表中,mi_var

一种方法就是跑过去看看:

>>> lista=[99, True, "Una Lista", [1,3]]
>>> lista[0:4:2]
[99, 'Una Lista']

这是一个切片表示法,它创建一个新的列表,由lista的第二个元素组成,从索引0开始,直到但不包括索引{}

相关问题 更多 >