Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何修改For循环中的当前元素? A中的i的: 如果i_Python_Python 3.x - Fatal编程技术网

Python 如何修改For循环中的当前元素? A中的i的: 如果i

Python 如何修改For循环中的当前元素? A中的i的: 如果i,python,python-3.x,Python,Python 3.x,如何在for循环中使用当前元素,如果当前元素为负,我想使其为正。当你在A中为I说时,那么在每次迭代中I将是A中的元素,而不是交互索引。您要做的是这样的: for i in A: if i < 0: A[i] == abs(i) 对于i,枚举(A)中的元素: 如果元素

如何在for循环中使用当前元素,如果当前元素为负,我想使其为正。

当你在A中为I说
时,那么在每次迭代中
I
将是A中的元素,而不是交互索引。您要做的是这样的:

for i in A:
    if i < 0:
        A[i] == abs(i)
对于i,枚举(A)中的元素:
如果元素<0:
A[i]=abs(元素)

i
以下是列表中每个项目的值。通常,
i
指的是一个索引,它导致您编写
A[i]
来指代当前元素。但是
A[i]
不是您想要的,它甚至可能是一个错误,这取决于
A
中的值

您需要索引来更改列表中的值。获取索引的一种方法是使用
enumerate()

对于索引,枚举中的值(A):
如果值<0:
A[指数]=abs(值)

注意使用有意义的变量名,以免混淆。

您可以使用
enumerate()
对列表的元素和索引进行迭代。如果您只是正常地迭代列表,
i
是列表元素,而不是索引,因此使用
A[i]
是没有意义的

for index, value in enumerate(A):
    if value < 0:
        A[index] = abs(value)
枚举(A)中的i、el的
:
如果el<0:
A[i]=abs(el)

我喜欢python3标准库的枚举功能来实现您的目标。例如,如果您具有以下内容:

for i, el in enumerate(A):
    if el < 0:
        A[i] = abs(el)
你可以说:

A = [4, 2, -3, 5, -2]
对于索引,A中的值:
如果值<0:
A[指数]=abs(值)

这也可以在列表中完成:

for index, value in A:
    if value < 0:
        A[index] = abs(value)
A=[abs(x)if x<0,否则x代表A中的x]

什么类型的
A
?如果它是一个字典,它应该可以工作,但对列表不起作用。
=
是为了平等,在python中使用
=
,我们经常用新值创建新列表并分配给旧变量。@MitchelPaulin lol,通常错误是另一种方式。你能举一个例子说明
a
是什么吗?这可以缩短为
[abs(x)代表a中的x]
可以,但由于他们的原始代码中有一个if语句,我想保持这一点,向他们展示该语句在列表中的工作方式
for index, value in A:
    if value < 0:
        A[index] = abs(value)
A = [abs(x) if x < 0 else x for x in A ]