python切片和索引_6/20python列表之索引和切片

在python中的列表类型可以往里面加入各种对象的元素。

列表类型中索引和切片

在【list】也可以进行索引和切片,不过是以元素为单位的,而不是以字符为单位。

在切片中,索引序号也是从0开始的

>>>a = ['2',3,'make']

>>>a

['2',3,'make']

a[0] #索引序号从0开始

'2'

>>>a[2]

'make'

>>>a[:2] #跟Str中的类似,切片的范围是:包含开始位置,到结束位置之前。

[2,3] #不包含结束位置

a[1:] #从开始位到最后一位

[3,'make']

>>>a[2][1:3] #可以对列表中的元素做2次切片

'ak' #2次切片,a中的序号2位元素中的序号1到序号2位字符。

list和str两种类型的数据,有共同的地方,它们都属于序列(都是一些对象按照某个次序排列起来,着就是序列的最大的特征)

因此,有很多类似的地方。比如,索引和切片。

>>>lang = "python"

>>>lang.index("y") #表示字符"y"在lang中序列号是多少。

1

>>>lst = ['python','java','c++']

>>>lst.index('java') #表示java这个元素在lst列表中的序列号是多少。

1

以上做展示的字符串串索引和切片,都是从左边开始的。

反向索引

还有一种编号方式,就是从右边开始,右边第一个编号为-1,然后依次是-2,-3,...,依次类推下来。

这对字符串,列表等各种序列类型都适用。

>>>lang = "python"

>>>lang[-1]

'n'

>>>lang[-3]

'h'

>>>lst = ['python','java','c++']

lst[-2]

'java'

从右边开始编号,第-1号是右边第一个。

但是要切片的话,一定要遵循左边数字小于右边的数字。

例如:

lang = ;python'

lang[-3:-1]

'ho'

lst = ['python','java','c++']

lst[-3:-1]

['python','java']

在反向序列中的切片,同样遵循原则是:到包含开始位置,到结束位置之前。

反转

>>>ls = [1,2,3,4,5,6]

ls[::-1] #反转

[6,5,4,3,2,1]

>>>ls

[1,2,3,4,5,6] #ls的对象数据没有变化,只是用函数让元素反向排列了。

对字符串同样也可以

>>>lang = 'python'

lang[::-1]

'nohtyp'

>>>lang

'python'

上面的反转,不管是int类型还是lst类型反转之后,原来的值都没有改变。

在python中用函数将序列类型反转。

>>> ls = [1,2,3,4,5,6,7,8]

>>> ls

[1, 2, 3, 4, 5, 6, 7, 8]

>>> list(reversed(ls))

[8, 7, 6, 5, 4, 3, 2, 1]

用【list(reversed(object))】函数可以返回反转的序列.

它返回的对象也是可以迭代的,不过是已经将原来的序列对象反转了。

如下:

>>>list(reversed('abcd'))

['d','c','b','a']

关于列表的操作就暂时就这么多了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值