我有以下几点:

>>> myString = "has spaces"
>>> first, second = myString.split()
>>> myString = "doesNotHaveSpaces"
>>> first, second = myString.split()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: need more than 1 value to unpack

如果字符串没有任何空格,我希望将second默认为None.我目前有以下内容,但我想知道是否可以在一行中完成:

splitted = myString.split(maxsplit=1)
first = splitted[0]
second = splitted[1:] or None

推荐答案

我建议你考虑使用一种不同的方法,即partition而不是split:

>>> myString = "has spaces"
>>> left, separator, right = myString.partition(' ')
>>> left
'has'
>>> myString = "doesNotHaveSpaces"
>>> left, separator, right = myString.partition(' ')
>>> left
'doesNotHaveSpaces'

如果您使用的是python3,则可以使用以下选项:

>>> myString = "doesNotHaveSpaces"
>>> first, *rest = myString.split()
>>> first
'doesNotHaveSpaces'
>>> rest
[]

Python-3.x相关问答推荐

在Python中从mySQL获取多行

将Trio与基于线程的事件侦听器混合使用

如何在python中有效地使用多处理和pytube库来加快下载速度?

泛型类型的参数的静态类型

如何将多个字典合并到一个列中,并为不同的行使用相同的键

PySpark每毫秒使用先前的值填充数据

Pandas 插入的速度太慢了.对于跟踪代码,什么是更快的替代方案?

如何使用正则表达式通过反向搜索从链接中获取特定文本

PyQt5 中耦合滑块和拨号小部件.解决结果不一致的问题

如何通过 python 使用 auth no priv 获取 SNMPv3?

来自嵌套字典的完整地址

如果网站加载时间过长,如何强制 Selenium 刷新

当我判断另一个 checkButton 时,如何判断两个 python tkinter checkButtons?

段落中句子的索引

如何从同一文件夹中的模块导入功能?

Python3 的超级和理解-> TypeError?

无法在 Windows 8 中使用 Python 3.3 找到 vcvarsall.bat

在 Ubuntu 上为 Python3 安装 mod_wsgi

哪个更有效:Python 文档字符串还是类型提示?

Pylint 中的模块PyQt5.QtWidgets错误中没有名称QApplication