Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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/9/delphi/9.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 3.x 是否直接修改集合中的数据?_Python 3.x - Fatal编程技术网

Python 3.x 是否直接修改集合中的数据?

Python 3.x 是否直接修改集合中的数据?,python-3.x,Python 3.x,Python3中有没有一种方法可以直接修改集合中的数据 例如,以下代码: var1, var2 = 0, 0 for data in [var1, var2]: data += 1 输出: > var1 >>> 1 > var2 >>> 1 有什么方法可以实现我在上面尝试做的事情吗?int是不可能的,因为它们是不可变的();但是,它可以处理可变对象。 例如,您可以将您的值包装在列表中: var1, var2 = [0], [0] for i

Python3中有没有一种方法可以直接修改集合中的数据

例如,以下代码:

var1, var2 = 0, 0
for data in [var1, var2]:
  data += 1
输出:

> var1
>>> 1
> var2
>>> 1

有什么方法可以实现我在上面尝试做的事情吗?

int是不可能的,因为它们是不可变的();但是,它可以处理可变对象。 例如,您可以将您的值包装在列表中:

var1, var2 = [0], [0]
for i in [var1, var2]:
    i[0] += 1
print(var1[0]) # 1
print(var2[0]) # 1
您还可以为此实现自己的可变int类,而不是使用列表


但是仅仅因为你可以,并不一定意味着你应该这样做。可能有一种更简单的方法来实现您的目标。

您可以使用函数来实现此目标:)

var1,var2=0,0
def添加(var1、var2、数据):
数据=0
当数据<2时:
var1=var1+数据
var2=var2+数据
数据+=1
返回var1,var2
打印(添加(0,0,1))

否,当您编写
[var1,var2]
时,这将创建一个包含两个整数副本的列表。最好共享一些输入数据,以明确您的兴趣。
var1 ,var2= 0,0
def add(var1,var2,data):
    data  = 0
    while data < 2:
        var1 = var1+ data
        var2 = var2 + data
        data += 1
    return var1,var2
    

print(add( 0 ,0,1))