简单的问题:给定一个字符串
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
对于更复杂的解包模式,新语法看起来更干净,不再需要笨拙的索引处理。