从最后拆分并取n个单词

时间:2011-01-24 14:53:23

标签: python list slice

你如何从分割线中取出最后n个结尾的单词?例如,我有这些行:

1. 123.by2.gateway.edge.messenger.live.com
2. messenger.com
3. 10.17.123.45
4. 126.by2.gateway.edge.messenger.live.com
5. 14.messenger.live.com

我想从地址中取出最后3个字,以便第1,4和4行使用。 5我有'messenger.live.com'和第2行& 3保持完整。这就是我为实现它所做的,但似乎很蹩脚:

link = line.split('.') 
if len(link) > 4: # to bypass the IP address
    plink = link[-1:-3] ?

1 个答案:

答案 0 :(得分:4)

你想要

plink = link[-3:]

要忽略数字IP,您可以使用:

link = line.split('.')
if len(link) > 3 and link[-1].isalpha():
    plink = link[-3:]

这将忽略2.和3.,同时正确地继续5.(正如SilentGhost正确指出的那样,你的代码忽略了5。)