python列表_Python中的列表分片

本文详细介绍了Python中列表的定义、访问和分片操作,包括通过下标访问元素、切片获取连续子列表以及负数索引的使用。此外,还展示了如何访问奇数或偶数位置的元素以及按特定步长取值。这些内容对于理解和操作Python列表至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Python中的列表就相对与其他语言中数字数组,起下标为从0开始计算。在python在通过[]号把其中的元素集合起来。列表中的值可以是任何对象,比如空值,数值,字符串子列表。列表也可以相其他语言的的数组一样进行取值,索引,分片,求长度。并且可以去长度和合并而且可以进行插入,拿取,排列,搜索,反转等操作。

1.1列表的定义

list1=[‘root’,’home’,’usr’,’etc’,’bin’,’boot’]//字符串列表

List2=[1,3,5,7,9] //数字列表

List3=[‘root’,[‘home’,’etc’,’bin’,’boot’]] //包含子列表的列表

List4=[] //空列表。

1.2列表的一些常规操作

1.2.1列表的访问。

如果想访问一个列表的某个值怎么办呢,其实很简单,直接通过下标访问即可,在python在下标是从0开始计数的,比如list1中root的下标是0,home的下标是1,urs的是2以此类推。如果我们想访问boot这个值,直接list[5]即可。

例子1

>>> list=['root','home','usr','etc','boot']

>>>printl_root=list[0]

root

>>>printl_homel=list[1]

Home

1.2.1列表的分片。

下面我们进一步思考,既然列表可以通过下标的方式进行访问,如果我们想访问其中相邻的几个列表怎么办,list[0],list[1],list[2]固然是个好方法,但是是不是有点麻烦。其实还是有简便方法的,我们可以对列表进行分片。

List1=[‘ bin’,‘boot,’dev’,‘etc’,‘home’,‘lib’,‘media’‘mnt’]

问题1:如果我想访问列表中前三个值怎么办。?

问题2:如果我想访问从字符串boot到lib中的值怎么办?

问题3:如果我想访问从第一个到某个值怎么办?

问题4:如果我想访问从某个值到列表的最后一个值怎么办呢?

问题5:如果我想访问奇数数值,或者偶数数值呢,又或者固定步长的数值呢。

例1:访问列表前3个数值

>>> list1=['bin','boot','etc','home','lib','midia','mnt']

>>>printl1=list1[0:3]

['bin', 'boot', 'etc']

另一种方法

>>>printl1=list1[:3]

['bin', 'boot', 'etc']

例子2:访问从字符串boot到lib中的值

>>> list2=['bin','boot','etc','home','lib','midia','mnt']

>>> print l2=list2[1:5]

注意:为什么是5而不是4呢?原来在列表中‘:’号的右侧的值是不被访问的,而是从‘:’号左边的的值开始计数,但是不包括:右边值的。相当于从‘:’左边的值开始一直到‘:’号右边的值的前一位取值。

例子3访问从第一个到某个值,访问前4个值。

List3=['bin','boot','etc','home','lib','midia','mnt']

>>> print list3[:4]

['bin', 'boot', 'etc', 'home']]

例4:访问从某个值到列表的最后,访问从etc开始一直到最后的值mnt。

List4=['bin','boot','etc','home','lib','midia','mnt']

>>> print list4[2:]

['etc', 'home', 'lib', 'midia', 'mnt']

例5:访问奇数数值,或者偶数数值呢,又或者固定步长的数值呢。

访问奇数位所在值

5.1list5=['bin','boot','etc','home','lib','midia','mnt']

Print list’[1::2] 相当于:从第二位boot开始访问一直访问到最后‘:’步长为2.

['boot', 'home', 'midia']

5.2 同理访问奇数位置

>>> print list1[0::2]

['bin', 'etc', 'lib', 'mnt']

其他负数相关:其实索引也可以是负数

List=[1,2,3,4,5,6,7]

例如访问6,7的值,访问倒数前3个的值日。

print list[-1]

7

Print list[-2]

6

Print list[-1:-4]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值