gpt4 book ai didi

python - 重新分配从 Python 中的函数返回的值

转载 作者:太空宇宙 更新时间:2023-11-03 18:43:14 26 4
gpt4 key购买 nike

我的标题可能有点不对劲,但我真的不知道如何表达自己。

假设我有一个函数,它接受一个数据结构和一些其他参数,并从该数据结构返回一个值。如何重新分配该返回值?

这是我想要做的一个简单示例:

假设我有一个函数 foo,

def foo(x, n):
return x[n]

和一个列表 l,

l = [1, 2, 3, 4, 5]

我想做的是这样的:

foo(l, 1) = 0 #this results in an error

我想要的结果是:

l = [1, 0, 3, 4, 5]

这个示例对于其他方法来说可能很简单,但让我们想象一下我从列表中检索项目的函数更加复杂。

编辑:也许我的描述太不清楚了,基本上我想要的是一个像lisp中的setf一样工作的赋值运算符。我希望我的函数返回某种指向数据结构中的值的指针。然后我想更改指针指向的值。我想用它来做什么基本上是这样的:(我不明白为什么我不只是开始作为一个例子)

def foo(l, indexes):
if indexes == []:
return l
else:
return foo(l[indexes[0]], indexes[1:])
l = [[1, 2], 3]
foo(l, [0, 1]) = 0 #Again this is what is not working and I understand why it's not working, I just want something that would do what you think this might do.

我想要的结果是:

l = [[1, 0], 3]

最佳答案

这就是你想要的吗?

def foo(thelist, n):
thelist.append(n)
return thelist

或者您要插入吗?

def foo(thelist, i, n):
thelist.insert(i , n)
return thelist

@OP 阅读完您已编辑的帖子后;查看linklink那里有一个可能有用的例子。

根据 stackoverflow 帖子;答案是否定的。

关于python - 重新分配从 Python 中的函数返回的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20078900/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com