Python “如何脱衣”#&引用;从列表中的项目?

Python “如何脱衣”#&引用;从列表中的项目?,python,list,strip,Python,List,Strip,我的名单是 a=["# abc" ,"def","ghi" ,"jkl #"] 我希望我的输出是这样的 a=["abc","def","ghi","jkl"] 我尝试了此代码,但无法删除“#” 如何从列表中的项目中删除“#” a = [b.replace('#', '') for b in a] 或者,如果您希望空间也可以使用 a = [b.replace('#', '').replace(' ', '') for b in a] 或者,如果您希望空间也可以使用 a = [b.repla

我的名单是

a=["# abc" ,"def","ghi" ,"jkl #"]
我希望我的输出是这样的

a=["abc","def","ghi","jkl"]
我尝试了此代码,但无法删除“#”

如何从列表中的项目中删除“#”

a = [b.replace('#', '') for b in a]
或者,如果您希望空间也可以使用

a = [b.replace('#', '').replace(' ', '') for b in a]
或者,如果您希望空间也可以使用

a = [b.replace('#', '').replace(' ', '') for b in a]
“#”
一起用作参数,以删除周围的
#
和空格:

>>> [x.strip('# ') for x in a]
['abc', 'def', 'ghi', 'jkl']
“#”
一起用作参数,以删除周围的
#
和空格:

>>> [x.strip('# ') for x in a]
['abc', 'def', 'ghi', 'jkl']

您的代码存在一些问题:

  • 首先,这里不需要使用
    any()
    。如果项目中有“#”,则只需执行

  • 您将希望将解决方案附加到另一个列表中,而不是修改
    (这将完全不起作用),如下所示:


  • 请记住,在python中,字符串是不可变的,因此执行
    str.strip()
    不会修改字符串

    此外,如果您想消除多余的空格,则需要在通话中添加额外的空格以删除:

    new.append(item.strip("# "))
    
    最后,这就是列表理解的用武之地:

    [i.strip('# ') for i in a]
    

    您的代码存在一些问题:

  • 首先,这里不需要使用
    any()
    。如果项目中有“#”,则只需执行

  • 您将希望将解决方案附加到另一个列表中,而不是修改
    (这将完全不起作用),如下所示:


  • 请记住,在python中,字符串是不可变的,因此执行
    str.strip()
    不会修改字符串

    此外,如果您想消除多余的空格,则需要在通话中添加额外的空格以删除:

    new.append(item.strip("# "))
    
    最后,这就是列表理解的用武之地:

    [i.strip('# ') for i in a]
    

    如果列表是
    ['#ab cd e',等]
    我回答了他问的问题,而不是如果列表是
    ['#ab cd e',等]
    我回答了他问的问题,而不是如果