我有这样的问题:
name = "Steve Jobs is my name."
所需的输出:
['Steve Jobs', 'is', 'my name.']
我尝试过的解决方案: 我曾尝试在 Python 中使用 split 函数。 代码:
result = name.split()
['Steve', 'Jobs', 'is', 'my', 'name']
我无法从这里继续。我试过使用 for 循环。 但是,我没有得到所需的结果。
我是否遗漏了什么或有其他方法可以解决这个问题?
请告诉我。
答案 0 :(得分:1)
这似乎是一种面试问题,他们只是想了解您的想法。在这种情况下,只需要举一个例子,我就会寻找一种模式,让您获得所需的输出。
例如,您可以在 " is "
上拆分以获得前后两部分,然后将 "is"
重新插入列表中间以获得所需的结果。
name = "Steve Jobs is my name."
result = name.split(" is ")
result .insert(1, "is")
print(result )
答案 1 :(得分:1)
假设这是一个棘手的问题:
[x.strip() for x in name.partition("is")]
答案 2 :(得分:0)
如果您使用 string.split()
拆分字符串,则字符串将在每次出现 " "
(空格)时拆分。但在您的情况下,您希望在特定位置而不是在每次出现空间时将其拆分。
您可以尝试使用:
result1 = [name[:10], name[11:13], name[14:]]
但这仅适用于您想拆分此特定字符串的情况。
如果要拆分句子结构相似的不同字符串,可以尝试:
words = name.split()
result = [words[0] + " " + words[1], words[2], words[3] + " " + words[4]]