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

在python[duplicate]中使用regex从列表中删除元素

  •  1
  • Andre_k  · 技术社区  · 6 年前

    a=['one_foo','two_foo','bar_foo']
    

    ['one','two','bar']
    

    我尝试先将列表转换成字符串,然后使用regex

    import re
    re.sub("_.*$","", str(a))
    

    我知道把列表转换成字符串是不正确的方法来完成这个任务,可能有什么不把它转换成字符串的优雅方法吗?

    1 回复  |  直到 6 年前
        1
  •  2
  •   jpp    6 年前

    str.rsplit :

    a = ['one_foo', 'two_foo', 'bar_foo']
    
    res = [x.rsplit('_', 1)[0] for x in a]
    
    ['one', 'two', 'bar']
    

    str 类似操作的方法。