我是靠谱客的博主 魁梧学姐,最近开发中收集的这篇文章主要介绍Python基础知识点:切片前言遍历切片复制整个列表,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

以下文章来源于决策不拍头,作者 Dark Horse

什么是切片,其实就是列表的一部分。比如下面这个列表:

players = ['james','anthony','wade','rose','curry']

你只想取中间这3个名字,可以这么做:

print(players[1:4])
['anthony', 'wade', 'rose']

players[1:4]就是一个切片,前面是列表对应的变量,后面用中括号括起来,里面就是起始索引和终止索引,中间用冒号连接起来。这个索引也是含左不含右的,对于这个例子,就是从1开始,到4为止,但是不包括4这个位置上的元素。

如果省略起始索引,那么意味着索引从0开始:

print(players[:4])
['james', 'anthony', 'wade', 'rose']

如果省略终止索引,那么意味着切片会取到列表的最后一个元素:

print(players[1:])
['anthony', 'wade', 'rose', 'curry']

索引中也可以使用负数,意味着从列表的末端截取元素:

print(players[-2:])
['rose', 'curry']

 

遍历切片

切片中也可以使用for循环:

for player in players[:3]:
    print(player.title())

结果如下:

James
Anthony
Wade

 

复制整个列表

想要复制整个列表,其实就是把切片从头取到尾,那么可以同时省略起始索引和终止索引,只留下冒号:

new_players = players[:]

为了验证确实复制了整个列表,我们给原列表players和新复制的列表new_players各添加一个不同的元素,然后将其分别打印:

players.append('thompson')
new_players.append('durant')
print(players)
print(new_players)

我们来看下结果,确实列表被完整复制了:

['james', 'anthony', 'wade', 'rose', 'curry', 'thompson']
['james', 'anthony', 'wade', 'rose', 'curry', 'durant']

注意,复制列表时的冒号一定不要忘记。我们来看看如果忘记冒号,会发生什么后果:

players = ['james','anthony','wade','rose','curry']
new_players = players
players.append('thompson')
new_players.append('durant')
print(players)
print(new_players)

重点关注第2行代码,我们并没有使用切片,而是直接将新列表new_players关联到了旧列表players,接下来仍然给两个列表添加不同的元素,我们来看看打印的结果吧:

['james', 'anthony', 'wade', 'rose', 'curry', 'thompson', 'durant']
['james', 'anthony', 'wade', 'rose', 'curry', 'thompson', 'durant']

我们发现,两个列表完全一致,而且新添加的两个元素都被加到了其中,这是为什么呢?

其实,就是我们之前说过的,变量可以看做是一个标签,它指向了某个内容。

这个例子中,变量players指向了列表['james','anthony','wade','rose','curry']。在第2行代码中,新变量new_players又和变量players关联到了一起,因此新变量new_players也指向了这个列表['james','anthony','wade','rose','curry']。

因此,无论之后给哪个变量添加新的元素,它们指向的都是同一个列表,所以最终输出的两个列表就会完全一样了。

最后

以上就是魁梧学姐为你收集整理的Python基础知识点:切片前言遍历切片复制整个列表的全部内容,希望文章能够帮你解决Python基础知识点:切片前言遍历切片复制整个列表所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部