保持列表元素中的前X个单词同时保持列表的一维?

2024-05-23 15:08:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个由单词组成的元素列表。例如:

listA = ["Hello, I'm Margaret and I'm 32 years old", 
"Howdy, I'm Louis and I'm 35 years old",
"Greetings, I'm Veronica, I come from Canada",
"Night, I'm Pepe and I'm a mexican singer"] 

但是,我想使用列表理解,只保留列表中每个元素的前三个单词,因此结果是:

ListA = ["Hello, I'm Margaret",
"Howdy, I'm Louis",
"Greetings, I'm Veronica",
"Night, I'm Pepe"]

我尝试使用以下列表:

ListA = [i.split()[0:2] for i in ListA]

但这会产生一个列表列表,这不是所希望的:

ListA = [["Hello, I'm Margaret"],
["Howdy, I'm Louis"],
["Greetings, I'm Veronica"],
["Night, I'm Pepe"]]

使用split()是正确的方法吗?谢谢你的帮助


Tags: and元素hello列表单词oldhowdynight
2条回答

你只是忘了join将拆分的列表返回到一个字符串:

ListA = [' '.join(i.split()[0:2]) for i in ListA]

你就快到了。一定要把绳子接回去:

ListA = [' '.join(e.split()[0:2]) for e in ListA]

你可能想要[0:3]而不是[0:2],但这取决于你自己

相关问题 更多 >