Skip to main content
 首页 » 编程设计

python之当只能分配 a 和 b 时,我如何做 a a,b,c = x.split ("") 而不会崩溃

2025年05月04日15luoye11

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']