拆分字符串并解压缩为变量的 pythonic 方法?



简单的问题:给定一个字符串

string = "Word1 Word2 Word3 ... WordN"

有没有一种pythonic方法可以做到这一点?

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

比如拆包什么的?

谢谢

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

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

first, *others = string.split()

另请注意,.split()的默认分隔符是一个空格,因此无需显式指定它。

来自扩展的可迭代解包。

许多算法需要将序列拆分为"第一个,休息"对,如果你使用的是 Python2.x,你需要尝试这个:

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

它被清洁剂取代,并且可能在Python3.x中更有效:

first, *rest = seq

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

最新更新