简单问题:给出一个字符串
string = "Word1 Word2 Word3 ... WordN"
是否有一种pythonic方式来做到这一点?
firstWord = string.split(" ")[0]
otherWords = string.split(" ")[1:]
喜欢拆包还是什么?
谢谢
答案 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
对于更复杂的解包模式,新语法看起来更清晰,并且不再需要笨拙的索引处理。