【问题标题】:Strip Text in all List Items after Character in each list Item Python在每个列表项Python中的字符之后剥离所有列表项中的文本
【发布时间】:2014-10-07 01:21:47
【问题描述】:

我有一个清单:

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])

我不认为这是正确的。因为它需要发生在列表中的每个项目上。帮忙?

【问题讨论】:

  • 不应该是x.partition而不是ip_info.partition吗?

标签: python list text strip partition


【解决方案1】:

使用列表推导:

ip_info = [ip.split('/')[0] for ip in ip_info]

>>> 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']

【讨论】:

    【解决方案2】:
    >>> 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']
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-24
      • 2011-12-03
      • 1970-01-01
      • 1970-01-01
      • 2017-11-20
      • 1970-01-01
      • 2013-06-03
      相关资源
      最近更新 更多