Python函数多返回值提取:如何将指定返回值存储为变量?
解决方法
首先,你的函数代码存在几个语法和拼写错误,先修正这些问题才能正常运行:
- 函数定义行末尾缺少冒号:
def Func(n): - 返回语句里的
L_e应该是小写的l_e,l_0应该是字母o的l_o
修正后的函数代码:
n = int(input("blablabla")) def Func(n): l_e = [] for i in range(1, n): if i % 2 == 0: l_e.append(i) l_o = [] for i in range(1, n): if i % 2 > 0: l_o.append(i) l = len(l_o) + len(l_e) return l_o, l_e, l
接下来,要获取第二个返回值,你需要先传入参数调用函数,再通过索引取值,正确写法是:
x = Func(n)[1]
你之前尝试的Func[1]是错误的,因为Func是函数对象,不能直接用索引;Func()[1]错误是因为调用函数时没有传入必要的参数n,加上原函数本身的拼写错误,导致运行失败。
另外,你也可以用解包的方式直接获取指定返回值,代码可读性更强:
_, x, _ = Func(n)
这里的下划线_是Python里常用的占位符,表示我们不需要对应的返回值。
内容的提问来源于stack exchange,提问作者Bertrand Wittgenstein's Ghost
相关产品推荐
相关产品推荐

