Pythonic分割字符串并解压缩成变量的方法?

时间:2017-05-25 08:25:58

标签: python python-3.x

简单问题:给出一个字符串

string = "Word1 Word2 Word3 ... WordN"

是否有一种pythonic方式来做到这一点?

firstWord = string.split(" ")[0]
otherWords = string.split(" ")[1:]

喜欢拆包还是什么?

谢谢

2 个答案:

答案 0 :(得分:6)

从Python 3和PEP 3132开始,您可以使用扩展解包。

这样,您可以解压缩包含任意数量单词的任意字符串。第一个将存储到变量first中,其他将属于列表(可能为空)others

first, *others = string.split()

另请注意,.split()的默认分隔符是空格,因此您无需明确指定。

答案 1 :(得分:5)

来自Extended Iterable Unpacking

许多算法需要在"首先,休息"中分割序列。对,如果你正在使用Python2.x,你需要试试这个:

seq = string.split()
first, rest = seq[0], seq[1:]

它被清洁工取代,可能在Python3.x中更有效率:

first, *rest = seq

对于更复杂的解包模式,新语法看起来更清晰,并且不再需要笨拙的索引处理。