作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个全名列表,目前我将其分成两个变量:
first, last = full_name.split(" ")
仅当 full_name
拆分时是两个单词时才有效,否则我得到。有没有一种简洁的方法来解释一个包含更多部分的名称,以将 first
作为第一个单词,将 last
作为其余单词?我可以用一两行额外的代码来完成,但我想知道是否有一种优雅的方法。
最佳答案
由于您使用的是 Python3,因此您还可以使用 Extended Iterable Unpacking .
例如:
name = "John Jacob Jingleheimer Schmidt"
first, *last = name.split()
print("First = {first}".format(first=first))
#First = John
print("Last = {last}".format(last=" ".join(last)))
#Last = Jacob Jingleheimer Schmidt
这会将拆分字符串的第一个元素之后的所有内容存储在 last
中。使用 "".join(last)
将字符串重新组合在一起。
如果只有两个元素要解包,它也适用。
name = "John Schmidt"
first, *last = name.split()
print("First = {first}".format(first=first))
#First = John
print("Last = {last}".format(last=" ".join(last)))
#Last = Schmidt
或者如果你想要第一个、中间的和最后一个:
name = "John Jacob Jingleheimer Schmidt"
first, middle, *last = name.split()
print("First = {first}".format(first=first))
#First = John
print("Middle = {middle}".format(middle=middle))
#Middle = Jacob
print("Last = {last}".format(last=" ".join(last)))
#Last = Jingleheimer Schmidt
关于Python 将全名拆分为两个变量,姓氏可能包含多个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49247636/
我是一名优秀的程序员,十分优秀!