在python列表中剪切字符串每个元素的前3个单词
我需要剪切字符串中每个元素的前3个单词,跳过空格、点和破折号 例如:在python列表中剪切字符串每个元素的前3个单词,python,python-3.x,Python,Python 3.x,我需要剪切字符串中每个元素的前3个单词,跳过空格、点和破折号 例如: ["Spanish.1 Spanish Spanish, Catalan-2 3 6, English, Portuguese-4, Italian.5 Italy 2-It"] 需要成为 "Spanish.1 Spanish, Catalan-2 3, English, Portuguese-4, Italian.5 Italy" 我不知道你的意思是什么,但如果它在一个列表中,你可
["Spanish.1 Spanish Spanish, Catalan-2 3 6, English, Portuguese-4, Italian.5 Italy 2-It"]
需要成为
"Spanish.1 Spanish, Catalan-2 3, English, Portuguese-4, Italian.5 Italy"
我不知道你的意思是什么,但如果它在一个列表中,你可以用
删除列表[0:3]
,如果它是一个字符串,你可以像字符串[:3]
那样切片来剪切前三个元素。我终于明白你的意思了。。
这应该可以做到。将来,如果您解释代码的功能,可能会有所帮助-
基本上,您有多个句子(由“,”标记)。在你的句子中,你有单词(用空格隔开)。这些单词也可以是数字
s = "Spanish.1 Spanish Spanish, Catalan-2 3 6, English, Portuguese-4, Italian.5 Italy 2-It"
# split by comma, remove spaces at extreme left/right
sentences = s.split(",")
sentences = [sentence.strip() for sentence in sentences]
new_final_sentence = ""
for sentence in sentences:
# split by space, delete away every third element
words = sentence.split(" ")
if len(words) >= 3:
del words[3-1::3]
new_sentence = " ".join(words)
new_final_sentence += new_sentence + ", "
print(s)
print("became...")
print(new_final_sentence)
将来,如果你能够更多地解释/描述你的问题,或者如果你还不确定术语,那么更多或类似的例子通常会有所帮助。这不是最清楚的问题,但我怀疑这会起到作用:
inString = "Spanish.1 Spanish Spanish, Catalan-2 3 6, English, Portuguese-4, Italian.5 Italy 2-It"
outString = ', '.join([' '.join(x.split(' ')[:2])
for x in inString.split(', ')]
print(outString)
这有点难理解,所以分成以下几个部分:
inString = "Spanish.1 Spanish Spanish, Catalan-2 3 6, English, Portuguese-4, Italian.5 Italy 2-It"
a = inString.split(', ')
b = [' '.join(x.split(' ')[:2])
for x in a]
outString = ', '.join(b)
首先,我们通过沿逗号剪切来拆分输入字符串。然后,对于我们现在拥有的每个部分,我们再次拆分它,但是在空格上,只取列表中以这种方式创建的前两个元素。这两部分重新连接在一起。通过在列表理解中执行所有这些操作,我们只剩下
b
,我们可以加入的元素以获得所需的输出。欢迎使用Stackoverflow,请阅读。特别注意。确保用正确的标签(编程语言、相关技术等)标记问题。你在发布一个好的问题上投入的精力越多:一个容易阅读、理解的问题,而且这个问题越容易吸引相关的人,你得到帮助的速度就越快。祝你好运确切地非常感谢你!!!欢迎光临。将来,如果你能更多地解释或描述你的问题,这肯定会有所帮助。如果您不确定术语/如何描述,请提供更多或类似的示例。甚至可能还会显示您尝试过的代码:)