使用列表的一部分-python之切片

python中的列表是由一系列按特定顺序排列的元素组成,其中的元素可以是任何东西,而且其中的元素之间没有任何关系,有些类似与c#中的一维数组,只是相比较看来python列表的内涵要深的多。
在python中,用方括号[];来标识列表,并用都好来分割其中的元素,简单实例如下:

countries=['china','japan','american','germany']
print(countries)

列表元素的访问和其他语言类似,都是使用索引来指出对应的元素,比如上面的列表mylist,如何我们想打印出’china’这个元素,只需要使用countries[0]来实现就好了。
当然遍历列表的方法也与其他语言类似,以上面列表为例:

for country in countries:
	print(country)

但如果是要使用列表的一部分呢?
在c#中,我一般用限定遍历索引的方法来实现,当然python也同样可以如此。
不过python中实现了一种叫‘切片’的操作,其实也是通过索引来操作,只是更加简洁(这不就是python的魅力所在吗)
要创建切片,只需要指定要使用的第一个元素的索引和最后一个元素的索引加一即可(为什么这时候的索引是从1开始而不是传统的0),与range函数相同,python在到达指定的第二个索引前面的元素就会停止,例如上面例子,我们要输出前3个元素只需要:

print(countries[0:3])

如果是从切片处直接遍历之列表末尾,则只需使’:'后的索引值为空即可:

print(countries[1:])

如果列表很长而我们又要得到最后面的几个元素,则可以倒过来遍历索引,以上面为例,加入我们要得到列表中最后两个元素(当让这个列表太短了),只需要实现:

print(coutries[-2:])

这样的好处是即使列表长度发生改变,输出结果依旧如此。
切片还有一个大用处是用来复制列表,如果我们切片的索引包含整个列表的话,这样不就把列表复制下来了吗。实现的方法很简单,类似于前面我们实现
从切片处直接遍历之列表末尾的思路,将前面的索引设置为列表头不久可以了,代码如下:

print(countries[:])

这样我们把countries[:]赋值给另一个列表就实现了复制操作。

猜你喜欢

转载自blog.csdn.net/weixin_42672765/article/details/85239784