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

yipeiwu_com5年前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设计】。

相关文章

Django之form组件自动校验数据实现

Django之form组件自动校验数据实现

一、form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来。 与此同时我们在好多场景下都需要对用户的输入做校验...

python 实现提取某个索引中某个时间段的数据方法

如下所示: from elasticsearch import Elasticsearch import datetime import time import dateutil.p...

在Python中等距取出一个数组其中n个数的实现方式

在Python中等距取出一个数组其中n个数的实现方式

应用场景: 实验中不断得到新数据,想将数据图形化,但随着时间推移,数据越来越多, 此时需要我们等距选择数据列表中固定数量的数据,来进行图形化。 注:保留首尾数据。 import nu...

Flask模拟实现CSRF攻击的方法

Flask模拟实现CSRF攻击的方法

CSRF CSRF全拼为Cross Site Request Forgery,译为跨站请求伪造。 CSRF指攻击者盗用了你的身份,以你的名义发送恶意请求。 包括:以你名义发送邮件,发消息...

Python实现线性判别分析(LDA)的MATLAB方式

Python实现线性判别分析(LDA)的MATLAB方式

线性判别分析(linear discriminant analysis),LDA。也称为Fisher线性判别(FLD)是模式识别的经典算法。 (1)中心思想:将高维的样本投影到最佳鉴别矢...