Python参考循环

2024-05-16 12:42:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个for循环,如下所示:

a=[1,2,3,4,5]
for i in a:
    i=6

我希望a的每个元素都变成6。你知道吗

现在我知道这个for循环不会这样做,因为我只是在改变i所指的内容。你知道吗

我可以写:

a=[1,2,3,4,5]
for i in len(range(a)):
    a[i]=6

但这看起来不太像Python。做这种事的好方法是什么?显然,将一切设置为6是一个人为的例子,实际上,我会做更复杂(和美妙)的事情。因此,答案应该是概括性的。你知道吗


Tags: 方法答案in元素内容forlenrange
3条回答

这可能是^{}的一个很好的用法,这取决于你在现实生活中所做的事情。例如:

a = map(lambda x: 6, a)

for-变量始终是一个简单的值,而不是引用;无法知道它来自列表,因此在更改时会写回列表。你知道吗

len(a)方法是常用的习惯用法,尽管您也需要range(或xrange):

for i in range(len(a)):

或者,通常使用enumerate函数来获取索引和值:

for i, v in enumerate(a):
    a[i]= v+1

列表理解可能是一个很好的选择,例如:

a= [6 for v in a]

您可以使用:

>>> a = [1, 2, 3, 4, 5]
>>> a = [6] * len(a)
>>> a
[6, 6, 6, 6, 6]

相关问题 更多 >