想象一个字符串 s="one two three four five"
。我想把它分成第一个、最后一个和“内部”元素。我知道我可以通过巧妙的拆包和重新加入来做到这一点:
first, *rest, last = s.split(" ")
middle = " ".join(rest)
print(first, middle, last)
是否可以在一个表达式中做到这一点? (即可能不先拆分整个字符串然后再重新加入)
最佳答案
使用 re
模块 ( regex101 ):
s="one two three four five"
import re
first, middle, last = re.findall(r'(\S+)\s*(.*)\s+(\S+)', s)[0]
print(first)
print(middle)
print(last)
打印:
one
two three four
five
关于python - 在 Python 中,是否可以在一个表达式中将列表拆分为第一个、内部和最后一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57521695/