我有一个python列表:
name = ['A.A.BCD', 'B.B.AAD', 'B.A.A.D']
我希望在第二次之前放弃一切。剩下的自己留着。以下是我的想法。
[n.split('.')[2] for n in name]
上面的对除最后一个条目外的所有条目都有效。可以这样做:
期望输出:['BCD', 'AAD', 'A.D']
阅读split()
的文档,您会发现它有一个可选参数用于最大分割数-使用此参数使最后一个工作:
[n.split('.',maxsplit=2)[2] for n in name]
看到https://docs.python.org/3/library/stdtypes.html?highlight=split str.split
这样做的最大缺点是,如果没有两个,它将失败。在字符串中,因此使用for循环可以更健壮。
name = ['A.A.BCD', 'B.B.AAD', 'B.A.A.D']
['.'.join(n.split('.')[2:]) for n in name]
结果
['BCD', 'AAD', 'A.D']