将列表解析为变量和子列表 - pythonic方式

时间:2015-02-05 10:52:42

标签: python list parsing

我正在使用此脚本将列表解析为变量和另一个列表:

b=[' 687.3774', ' 478.6', ' 47', ' 58', ' 96.90']
c,d=b[0],b[1:]

它始终是第一个被分离的元素,并且此代码工作正常,但是,它会重复右侧的列表b。这不是问题,但当我的bline.replace('*',',').replace(' ',',').split(',')那样大的时候,它确实很烦人。这看起来并不像是写下来的pythonic方式。我已经阅读了这个论坛中的一些帖子和关于元组等的文档,但对我来说没有什么可行的。以下是我在“黑暗中拍摄”方式尝试的一些事情,显然没有用

d=[]
c,d[:]=b
c,list(d)=b
c,d=b[0],[1:]

我也知道b.pop方法,但我找不到一种方法来使用它而不在RHS中重复b

帮助表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:2)

在Python 3中,您可以尝试

c, *d = b

它会将b[0]分配给c,其余分配给d。您应该看到this问题的答案,以解释*运算符如何处理序列。