代码之家  ›  专栏  ›  技术社区  ›  BilliAm

在每个列表项Python中的字符之后删除所有列表项中的文本

  •  2
  • BilliAm  · 技术社区  · 11 年前

    我有一个列表:

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

    我认为这不正确。因为列表中的每个项目都需要这样做。帮助

    2 回复  |  直到 11 年前
        1
  •  3
  •   flau    11 年前

    使用列表综合:

    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
  •  2
  •   vaultah    11 年前
    >>> 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']