对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使用标准库根据进程名如何获取进程的pid详解

前言 标准库是Python的一个组成部分。这些标准库是Python为你准备好的利器,可以让编程事半功倍。特别是有时候需要获取进程的pid,但又无法使用第三方库的时候。下面话不多说了,来一...

Pytorch之parameters的使用

1.预构建网络 class Net(nn.Module): def __init__(self): super(Net, self).__init__() # 1...

Python的缺点和劣势分析

Python的短板 虽然Python拥有很多优点,但没有哪种编程语言能够胜任所有工 作,因此Python并不能完美地满足一切需求。如果要确定Python是否适 用于当前场景,还需要了解...

python语音识别实践之百度语音API

百度语音对上传的语音要求目前必须是单声道,16K采样率,采样深度可以是16位或者8位的PCM编码。其他编码输出的语音识别不出来。 语音的处理技巧: 录制为MP3的语音(通常采样率为441...

使用Python神器对付12306变态验证码

使用Python神器对付12306变态验证码

临近春节,【听图阁-专注于Python设计】小编带领大家用Python抢火车票! 首先我们需要splinter 安装: pip install splinter -i http://py...