如果我有清单:
lista=[99, True, "Una Lista", [1,3]]
以下表达是什么意思?
mi_var = lista[0:4:2]
答案 0 :(得分:8)
语法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]
答案 1 :(得分:0)
遍历列表从0到3(因为4被排除,[开始,结束])踩过两个元素。结果是[99, 'Una Lista']
符合预期,并存储在列表mi_var
答案 2 :(得分:0)
运行和查看的一种方式:
>>> lista=[99, True, "Una Lista", [1,3]]
>>> lista[0:4:2]
[99, 'Una Lista']
这是一个切片表示法,它创建一个新列表,其中包含lista
的每个第二个元素,从索引0
开始,最多但不包括索引4