Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.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 生成用于返回的变量_Python_Return_Multiple Results - Fatal编程技术网

Python 生成用于返回的变量

Python 生成用于返回的变量,python,return,multiple-results,Python,Return,Multiple Results,我必须从函数中返回许多变量: a = 5 b = 6 c = 8 d = 6 ... return a,b,c,d,e,f,g,h 问题是我想通过数组来保存代码行: for (...): ar[x] = ... # For x = a,b,c,d,e, ... 但是我必须以“returna,b,c,d,e”的格式返回变量,我不想把它写成: return ar[a], ar[b], ar[c], ... 我可以用发电机吗?怎么用?比如: return item for item in l

我必须从函数中返回许多变量:

a = 5
b = 6
c = 8
d = 6
...
return a,b,c,d,e,f,g,h
问题是我想通过数组来保存代码行:

for (...):
  ar[x] = ... # For x = a,b,c,d,e, ...
但是我必须以“returna,b,c,d,e”的格式返回变量,我不想把它写成:

return ar[a], ar[b], ar[c], ...
我可以用发电机吗?怎么用?比如:

return item for item in len(ar)
当您“返回多个变量”时,实际上只是返回一个元组。您可以这样做:

return tuple(ar)
def func(x):
    # do something
    lis = (#your values)
    return lis
a,b,c,d,e = func(x)
甚至

return ar
当然,假设您的数组包含您希望以正确顺序返回的所有内容,并且仅此而已

看到更多的代码会很好,但如果您可以使用循环填充该列表,那么它在语义上就是一个值(同质集合)。

当您“返回多个变量”时,实际上只是返回一个元组。您可以这样做:

return tuple(ar)
def func(x):
    # do something
    lis = (#your values)
    return lis
a,b,c,d,e = func(x)
甚至

return ar
当然,假设您的数组包含您希望以正确顺序返回的所有内容,并且仅此而已


看到更多的代码会很好,但如果您可以使用循环填充该列表,那么它在语义上仍然是一个值(同质集合)。

使用生成器表达式和
元组

return tuple(ar[x] for x in (a,b,c,d,e))
如果索引是连续的,则可以使用切片:

return tuple(ar[2:8])   #If `ar` is a already a tuple then remove the tuple call
如果要返回整个元组/列表本身,只需按原样返回即可:

return ar   #or return tuple(ar)

请注意,返回一个
元组
并不是必须的,此处将对此进行更多讨论:

使用生成器表达式和
元组

return tuple(ar[x] for x in (a,b,c,d,e))
如果索引是连续的,则可以使用切片:

return tuple(ar[2:8])   #If `ar` is a already a tuple then remove the tuple call
如果要返回整个元组/列表本身,只需按原样返回即可:

return ar   #or return tuple(ar)
请注意,返回一个
元组不是强制性的,请在此处进行更多讨论:

您可以执行以下操作:

return tuple(ar)
def func(x):
    # do something
    lis = (#your values)
    return lis
a,b,c,d,e = func(x)
这将以元组形式返回值,并在另一端解包。您可以执行以下操作:

return tuple(ar)
def func(x):
    # do something
    lis = (#your values)
    return lis
a,b,c,d,e = func(x)
def values():
    a = 3
    b = 5
    c = 9
    d = 3
    e = 5

    return(a, b, c, d, e)

a1 = values()
print list(a1)
这将以元组的形式返回值,并在另一端解包

def values():
    a = 3
    b = 5
    c = 9
    d = 3
    e = 5

    return(a, b, c, d, e)

a1 = values()
print list(a1)
您可以编辑上面的函数来返回变量的元组

tuple(a,b,c,d,e) 
您可以编辑上面的函数来返回变量的元组

tuple(a,b,c,d,e) 

谢谢,我不知道tuple的事谢谢,我不知道tuple的事