python列表list的截取问题

List(列表)作为python中使用最频繁的数据类型,如果能够把列表掌握,那么对于Python的掌握是有很大帮助的。

并且列表的元素的值是可以修改的

List的格式:(列表中的元素可以是字符串类型,也可以是数字类型,布尔型等等)

#Author:LJZ
list=['123','abc',0,True]
for i in range(4):
    x=list[i]
    print(x)

执行结果:

123
abc
0
True

对于列表的截取操作(这个操作里面有一些细节,下面我总结了一下)

注意:列表的正向索引下标是从零开始,不是1,反向索引是到-1结束,不是0

截取的格式

变量[头下标:尾下标]

正向索引(01234...)

1.只有头下标i和冒号(代表的是从该头下标i的元素开始截取,一直到最后)

2.只有冒号尾下标i(代表的是从开始一直截取到i-1的元素)

3.头下标i,冒号和尾下标j都有(代表的是从i一直截取到j-1的元素)

例程如下:

#Author:LJZ
list=['123','abc',0,True]
x=list[1:]
y=list[:3]
z=list[2:3]
print(x)
print(y)
print

结果如下:

['abc', 0, True]
['123', 'abc', 0]
[0]

反向索引(......-2-1)

1.只有头下标i和冒号(代表的是从该头下标i的元素开始截取,一直到最后)

2.只有冒号尾下标i(代表的是从开始一直截取到i-1的元素)

3.头下标i,冒号和尾下标j都有(代表的是从i一直截取到j-1的元素

例程如下:

#Author:LJZ
list=['123','abc',0,True]
x=list[-3:]
y=list[:-2]
z=list[-3:-1]
print(x)
print(y)
print(z)

结果如下:

['abc', 0, True]
['123', 'abc']
['abc', 0]

 加入步长的截取:

前面讲到的截取是没有带步长的。如果想隔一定元素个数去截取列表,可以选择使用带有步长的截取方式

格式:

变量[头下标:尾下标:步长]

例如截取第三个到第五个元素,如果隔两个步长截取的话,就会截取到元素3和元素5,元素4就被跳过了

例程:

#Author:LJZ
list=['123','abc',0,True,"12345"]
x=list[1:4:2]
print(x)

结果:

['abc', True]

 

posted @ 2019-07-27 18:06  皮皮程序员  阅读(44267)  评论(1编辑  收藏  举报