a = munching mcdonalds
a,b,c = a.split(" ")
Traceback (most recent call last):
File "terminal.py", line 25, in <module>
a,b,c = a.split(" ")
ValueError: need more than 1 value to unpack
如果我希望它是 2 个或 3 个单词并且仍然能够打印 a,我应该使用什么代码?
请您参考如下方法:
如果你实际上并不需要 b 或 c,你可以这样做:
>>> sentence = 'munching macdonalds'
>>> first, rest = sentence.split(' ', 1)
>>> first
'munching'
>>> rest
'macdonalds'
这使用 str.split 的 maxsplit 参数(参见 the docs )来限制在第一个空格上进行拆分。
然后你可以做,例如if ' ' in rest: 判断第二部分是否可以进一步拆分。
如果您使用的是 Python 3,则可以使用 * 符号进行整个拆分,使 first 成为字符串,rest一个列表:
>>> sentence = 'munching macdonalds'
>>> first, *rest = sentence.split(' ')
>>> first
'munching'
>>> rest
['macdonalds']
>>> sentence = 'foo bar baz'
>>> first, *rest = sentence.split(' ')
>>> first
'foo'
>>> rest
['bar', 'baz']
