Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.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循环中的值?_Python - Fatal编程技术网

如何在python中更新for循环中的值?

如何在python中更新for循环中的值?,python,Python,假设我有一个具有以下值的变量列表 a,b,c=1,2,3 如何更新for循环中a、b、c的值 我试过以下方法,但不起作用 (a,b,c)中的v: v=v+1 a、b、c的值在处理后保持不变 打印(a、b、c) # [1] 1 2 3 试试这个: a, b, c = [v+1 for v in (a,b,c)] 使用列表或口述 如果有许多相关变量,最好将它们存储在列表或dict中。与具有许多独立变量相比,这有许多优点: 易于对所有文件执行操作(如更新、打印、保存) 不要在代码/命名空间中乱放

假设我有一个具有以下值的变量列表

a,b,c=1,2,3
如何更新for循环中
a、b、c
的值

我试过以下方法,但不起作用

(a,b,c)中的v
:
v=v+1
a、b、c的值在处理后保持不变

打印(a、b、c)
# [1] 1 2 3
试试这个:

a, b, c = [v+1 for v in (a,b,c)]
使用列表或口述 如果有许多相关变量,最好将它们存储在
列表
dict
中。与具有许多独立变量相比,这有许多优点:

  • 易于对所有文件执行操作(如更新、打印、保存)
  • 不要在代码/命名空间中乱放太多变量
  • 更好的可维护代码:如果您需要添加/删除变量,更改的位置更少
  • 更新for循环中的值 将其与更新循环中的单独变量进行比较
    a,b,c=[v+1表示(a,b,c)中的v]
    这将创建一个包含新值的中间列表,将这些值分配给变量,然后再次丢弃该列表。这是一个不必要的中间步骤,但不是一个大问题


    这样做的真正问题是,您仍然必须写出每个变量名两次。与仅仅编写
    a,b,c=a+1,b+1,c+1
    相比,这几乎不是一个进步,我认为您必须手动完成。这里a,b,c是通过引用来调用的,因此,更新只存在于局部变量
    v
    而不是
    a,b,c
    ,我不太清楚你想要实现什么,为什么
    for循环
    ?@CosmosZhu你所说的引用是什么意思?我不熟悉这一点,谷歌搜索只会让我更加困惑。@Cosmos547简单地说,这意味着在for循环期间,操作不适用于原始变量。您实际上是在分配变量
    v
    ,这确实不会改变变量
    a
    b
    c
    。您必须按名称分配变量,但一旦分配,通常会走错方向。可能有更好的方法来解决您试图在这里实现的任何问题,从而使这个问题变得毫无意义。
    # example using a dict
    
    # give them a meaningful name
    counters = {"a": 1, "b": 2, "c": 3}
    
    for key in counters:
        counters[key] += 1