Python-在函数外部更改tuple类型的未知变量,不带全局nor返回
这是一个针对特定情况的非常具体的问题。 我的函数应该不返回任何值,而且我不知道需要更改的变量的名称。我只知道函数应该改变变量Python-在函数外部更改tuple类型的未知变量,不带全局nor返回,python,list,function,tuples,Python,List,Function,Tuples,这是一个针对特定情况的非常具体的问题。 我的函数应该不返回任何值,而且我不知道需要更改的变量的名称。我只知道函数应该改变变量 def next(list): temporary = [x for x in list] temporary.append(temporary[-1] + 1) ??? = temporary return None """ >>>secrettuple = (2, 3, 4, 5) >>>next(s
def next(list):
temporary = [x for x in list]
temporary.append(temporary[-1] + 1)
??? = temporary
return None
"""
>>>secrettuple = (2, 3, 4, 5)
>>>next(secrettuple)
>>>secrettuple
[2, 3, 4, 5, 6]
"""
很抱歉,如果这与网站上的另一篇文章太相似,我已经浏览了2个小时,找不到问题的答案,可能我没有使用正确的搜索词。如果您正在处理一个可变的列表对象:
def next(lst, some_lst):
temporary = [x for x in lst]
temporary.append(temporary[-1] + 1)
some_lst[:] = temporary
next(secrettuple, real_list)
您不需要返回None,因为默认情况下函数将返回None。我找到了一种方法,它比我想象的要简单
def next(list):
temporary = [x for x in list]
list.append(temporary[-1] + 1)
这将在元组和列表中添加一个元素,这就是我所需要做的
编辑:我不知道为什么这样对我有效,但其他人在这样做时似乎会出错如果不使用全局或返回,您所要求的似乎是不可能的。如果您向函数传递了一个列表,那么就很容易了:您只需修改列表即可。但元组是不可修改的。@khelwood你们这么说很有趣,因为我真的找到了一种方法,请看下面的答案。我很惊讶我居然成功了,但它成功了,这正是我所需要的。我说,如果你把一个列表传递给你的函数,那就很容易了:你可以修改这个列表。你完全按照我说的做了。@khelwood尽管如此,我还是从一个元组和一个列表开始,返回了我想要添加的元素,其他人在这样做时似乎收到了错误,所以我认为我的帖子对任何人都没有任何用处。我要删除它编辑:没关系,我不能删除它…谢谢你告诉我,如果我用你在问题I get AttributeError中给出的数据运行这段代码,我不需要返回NONE:‘tuple’对象没有属性‘append’。当然,重复使用内置的名称是不好的风格,@Matthias怪异,不知道为什么它对我有效,但是,我的问题已经解决了,我将关闭它,因为没有人认为这是有用的编辑:没关系,有答案时我不能删除它