首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >替换元素和删除所有元素

替换元素和删除所有元素
EN

Stack Overflow用户
提问于 2016-05-19 03:42:24
回答 3查看 72关注 0票数 0

我目前正在尝试弄清楚如何用一个给定的元素填充一个列表,覆盖列表中的其他元素。所以完全用1个元素替换给定列表中的每个元素。如何用零填充列表,覆盖列表中的所有元素?

对于列表值= 1,2,3,4,5,有没有办法使列表成为值= 0,0,0,0,0

有没有一种方法可以从列表中删除所有元素?那么,对于值= 1,2,3,4,5,就设为values[]?

EN

回答 3

Stack Overflow用户

发布于 2016-05-19 03:44:15

代码语言:javascript
运行
复制
>>> x = [1, 2, 3]
>>> x[:] = [0] * len(x)
>>> x
[0, 0, 0]

说明:左侧是所有索引的切片,允许分配给切片,而右侧是一个很好的语法,用于生成重复元素列表。

在相关的注释中,永远不要这样做:

代码语言:javascript
运行
复制
>>> a = [[0] * 5] * 5
>>> a
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

因为这样的事情就会发生:

代码语言:javascript
运行
复制
>>> a[0][0] = 3
>>> a
[[3, 0, 0, 0, 0], [3, 0, 0, 0, 0], [3, 0, 0, 0, 0], [3, 0, 0, 0, 0], [3, 0, 0, 0, 0]]
票数 2
EN

Stack Overflow用户

发布于 2016-05-21 03:26:52

不带任何函数的清除列表理解--只有替换元素。我想,

  • 使用clear()或者只是用一个新的空列表覆盖。

X= 1,2,3 x.clear()

票数 0
EN

Stack Overflow用户

发布于 2016-05-19 03:44:57

要使用一个值替换列表中的所有元素,请执行以下操作:

代码语言:javascript
运行
复制
values = [0] * len(values)

这将根据组成列表长度所需的次数重复0,然后将其分配给values。Do not将此方法与自定义类等可变对象一起使用!

要清空列表,请将名称分配给一个空列表:

代码语言:javascript
运行
复制
values = []
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37308760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档