2013-11-25 47 views
0

两个变量,我想解开一个函数的返回到:如何解压目录到python2.x

  1. 总是第一个返回值设置一个第一可变

  2. 一第二个变量来存储任何超出的返回值

这样做,我有这段代码在python3.x下工作。我怎么能使它与python 2.x(至少python2.6)?

a,*b = ['a','b','c'] 

编辑:这也将一起工作:

a,*b = ['a'] 

回答

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 [] 
+0

谢谢。我的问题并不精确。看我的编辑部分。 – Sigmun

+0

@Sigmun请检查我的最新答案。 – thefourtheye

1

使用切片:

>>> lis = ['a','b','c'] 
>>> a, b = lis[0], lis[1:] 
>>> a 
'a' 
>>> b 
['b', 'c']