我有一个列表,哪些元素是由单词组成的。例如:
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(( 是正确的方法吗?感谢您的帮助!
你快到了。只要确保重新连接字符串:
ListA = [' '.join(e.split()[0:2]) for e in ListA]
此外,您可能想要[0:3]
而不是[0:2]
,但这取决于您。
您只是忘记将拆分的列表join
回字符串:
ListA = [' '.join(i.split()[0:2]) for i in ListA]