对Python3中列表乘以某一个数的示例详解

yipeiwu_com6年前Python基础

在Python列表操作中:列表乘以某一个数,如list2 = list1 * 2 得到一个新的列表是list1的元素重复n次,且list1不改变。

但运行如下代码时,得到的新列表b中,b[0]和b[1]的地址相同,即对b[0]进行操作,b[1]也会发生改变。

a = [0]
b = [a] * 2
print(b)
b[0].append(1)
print(b)

输出为:

[[0], [0]]
[[0, 1], [0, 1]]

随后尝试以下几种代码:

代码(1)

a = [0]
b = [a for _ in range(2)]
print(b)
b[0].append(1)
print(b)

输出仍为:

[[0], [0]]
[[0, 1], [0, 1]]

代码(2)

a = [0]
b = [list(a) for _ in range(2)]
print(b)
b[0].append(1)
print(b)

输出为:

[[0], [0]]
[[0, 1], [0]]

代码(3)

b = [[] for _ in range(2)]
print(b)
b[0].append(1)
print(b)

输出为:

[[], []]
[[1], []]

以上这篇对Python3中列表乘以某一个数的示例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python在Windows下安装setuptools(easy_install工具)步骤详解

python在Windows下安装setuptools(easy_install工具)步骤详解

本文讲述了python在Windows下安装setuptools(easy_install工具)的方法。分享给大家供大家参考,具体如下: 【题外话介绍下setuptools】 setup...

详细解读Python的web.py框架下的application.py模块

本文主要分析的是web.py库的application.py这个模块中的代码。总的来说,这个模块主要实现了WSGI兼容的接口,以便应用程序能够被WSGI应用服务器调用。WSGI是Web...

利用Python实现手机短信监控通知的方法

利用Python实现手机短信监控通知的方法

日常运维工作中,通常是邮件报警机制,但邮件可能不被及时查看,导致问题出现得不到及时有效处理。所以想到用Python实现发短信功能,当监控到问题出现时,短信报警,使问题能得到及时的处理。当...

Python中staticmethod和classmethod的作用与区别

一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法。 而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用。 这有利于组织...

python中break、continue 、exit() 、pass终止循环的区别详解

python中break、continue 、exit() 、pass终止循环的区别详解

python中break、continue 、exit() 、pass区分 1、break:跳出循环,不再执行 Python break语句,就像在C语言中,打破了最小封闭for或...