Python 在每个列表项中的字符后,删除所有列表项中的文本
我有一份清单:Python 在每个列表项中的字符后,删除所有列表项中的文本,python,list,text,strip,partition,Python,List,Text,Strip,Partition,我有一份清单: ip_info = ['10.0.0.2/10.10.10.1', '10.0.111.1/10.10.121.4', '10.0.145.15/10.99.10.1', '10.99.0.1/10.44.155.4', '10.0.10.1/10.10.110.1'] 我希望能够为列表中的每个项目除去/字符后的所有字符 对于以下输出: ip_info = ['10.0.0.2/', '10.0.111.1/', '10.0.145.15/', '10.99.0.1/', '1
ip_info = ['10.0.0.2/10.10.10.1', '10.0.111.1/10.10.121.4', '10.0.145.15/10.99.10.1', '10.99.0.1/10.44.155.4', '10.0.10.1/10.10.110.1']
我希望能够为列表中的每个项目除去/
字符后的所有字符
对于以下输出:
ip_info = ['10.0.0.2/', '10.0.111.1/', '10.0.145.15/', '10.99.0.1/', '10.0.110.1/']
从那里我将能够删除/
而不会出现问题,因为它们都是静态的,可以轻松删除
我曾尝试:
for x in ip_info:
''.join(ip_info.partition('/')[0:2])
我认为这是不对的。因为列表中的每个项目都需要这样做。帮助?使用列表理解:
ip_info = [ip.split('/')[0] for ip in ip_info]
它不应该是
x.partition
而不是ip\u info.partition
?
>>> ip_info = ['10.0.0.2/10.10.10.1', '10.0.111.1/10.10.121.4', '10.0.145.15/10.99.10.1',
'10.99.0.1/10.44.155.4', '10.0.10.1/10.10.110.1']
>>> ip_info = [ip.split('/')[0] for ip in ip_info]
>>> print ip_info
['10.0.0.2', '10.0.111.1', '10.0.145.15', '10.99.0.1', '10.0.10.1']
>>> ip_info = ['10.0.0.2/10.10.10.1', '10.0.111.1/10.10.121.4', '10.0.145.15/10.99.10.1', '10.99.0.1/10.44.155.4', '10.0.10.1/10.10.110.1']
>>> [i.split('/')[0] for i in ip_info]
['10.0.0.2', '10.0.111.1', '10.0.145.15', '10.99.0.1', '10.0.10.1']