python中令人困惑的表达式
如果我有名单:python中令人困惑的表达式,python,list,slice,Python,List,Slice,如果我有名单: lista=[99, True, "Una Lista", [1,3]] 下面的表达是什么意思 mi_var = lista[0:4:2] 语法lista[0:4:2]被称为语法,它返回由索引0(包含)到4(排除)的元素组成的列表片段,但只包括偶数索引(步骤=2) 在您的示例中,它将给出[99,“Una Lista”]。更一般地说,您可以通过编写lista[::2]得到一个由偶数索引中的每个元素组成的切片。无论列表的长度如何,这都有效,因为开始和结束参数分别默认为0和列表的长
lista=[99, True, "Una Lista", [1,3]]
下面的表达是什么意思
mi_var = lista[0:4:2]
语法
lista[0:4:2]
被称为语法,它返回由索引0(包含)到4(排除)的元素组成的列表片段,但只包括偶数索引(步骤=2)
在您的示例中,它将给出[99,“Una Lista”]
。更一般地说,您可以通过编写lista[::2]得到一个由偶数索引中的每个元素组成的切片。无论列表的长度如何,这都有效,因为开始和结束参数分别默认为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
开始,一直到索引4
为止。索引是奇数,而不是偶数