我想将函数的返回解压缩到:
第一个变量始终由第一个返回值
存储任何超出的返回值的第二个变量
为此,我将此代码在python3.x下运行。我怎么能使它适用于python 2.x(至少python2.6)?
a,*b = ['a','b','c']
修改:这也适用于:
a,*b = ['a']
答案 0 :(得分:1)
使用切片:
>>> lis = ['a','b','c']
>>> a, b = lis[0], lis[1:]
>>> a
'a'
>>> b
['b', 'c']
答案 1 :(得分:1)
在Python 2.7中没有直接的方法可以做到这一点,而是可以创建一个没有第一个元素和第一个元素的新列表,并将它们解压缩到相应的变量中。
data = ['a','b','c']
a, b = data[0], data[1:]
print a, b
<强>输出强>
a ['b', 'c']
即使RHS只有一个元素
,此解决方案仍然有效data = ['a']
a, b = data[0], data[1:]
print a, b
<强>输出强>
a []