Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.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-在函数外部更改tuple类型的未知变量,不带全局nor返回_Python_List_Function_Tuples - Fatal编程技术网

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怪异,不知道为什么它对我有效,但是,我的问题已经解决了,我将关闭它,因为没有人认为这是有用的编辑:没关系,有答案时我不能删除它