Skip to main content
 首页 » 编程设计

python之在保持列表一维的同时保留列表元素中的前 X 个词

2025年05月04日19daizhj

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

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],但这取决于您。