Python晨读笔记9复制列表

4.4.3复制列表


 昨天写的主持人的例子,朋友看了,说我举的例子很low,我也挺无辜的,这不是为了原创吗?链接太多或者跟书上的内容太类似,就没意思了,还不如直接把书的链接给大家看。(好吧,其实我也是在变相吐槽一下简书的锁定机制)。
 土就土吧,继续上例子。我和我朋友都喜欢看星爷的电影,我们喜欢的配角有相同的,也有不同的,为了展示这一点,可以用复制列表的功能。
 要复制列表,就要先创建一个包含整个列表的切片,方法是同时活力起始索引和终止索引([ : ]),这样就会让Python创建一个起始于第一个元素,终止于最后一个元素的切片,也就达到复制整个列表的效果。
 准备好了吗?我要上例子了。

supporting_role=['常威','石榴姐','重案组之虎','大军']
friend_role=supporting_role[:]
print("我喜欢的星爷电影配角是:")
print(supporting_role)
print("\n我朋友喜欢的星爷电影配角是:")
print(friend_role)
Vscode的中文识别问题需要摸索

 但在聊起其他女性配角时,我们有了一些不同的见解,于是我们的列表就不完全一致了。

supporting_role=['常威','石榴姐','重案组之虎','大军']
friend_role=supporting_role[:]

supporting_role.append('包租婆')
friend_role.append('春十三娘')

print("我喜欢的星爷电影配角是:")
print(supporting_role)
print("\n我朋友喜欢的星爷电影配角是:")
print(friend_role)
“我愿意为你JJRW”确实经典
  • 有意思的是,既然是复制列表,能不能直接A=B呢?答案是不行的。


    包租婆和春十三娘同时出现

图中红色圈住的,是[:],忽略超始和终止索引这一步是不能少的。

这里的主要问题,是直接将supporting_role直接赋值给friend_role,这种语法实际上就是使Python将新变量friend_role与旧变量supporting_role关联起来了,这种情况下,这两个亦是指向的都是同一个列表,所以在后面将“包租婆”和“春十三娘”都被添加到了supporting_role列表里,我表示我老婆在旁边看着我压力大,朋友表示,他老婆也在旁边,他看到这个结果也是瑟瑟发抖。(因为朋友他老婆长得像春十三娘,我老婆说她想当包租婆,所以,你们懂的。)

所以,复制列表时请一定要记得加上[:]啊~啊~啊~

好的,今天先写到这,改天再继续。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容