我需要从元素列表中删除某些特定字符,但是某些元素为None。
我有一个元素列表,例如
row= ['Hello,World','$Hello World', None]
我需要一个python代码才能从元素中删除“,”和“ $”。 我的代码如下所示,但语法无效:
row=[item.replace('$','').replace(',','') if item is not None for item in row]
我需要在列表中保留“无”,因此所需的输出应为['HelloWorld', 'Hello World', None]
请提出解决方法,谢谢
答案 0 :(得分:3)
[item.replace('$', '').replace(',','') for item in row if item]
如果要保留无
[item.replace('$', '').replace(',','') if item else item for item in row]
注意:如果列表中除了字符串和Nonetypes之外,还需要检查元素是否为字符串或在调用replace之前对replace方法做出响应。
答案 1 :(得分:1)
您可以使用and
运算符:
[i and i.replace('$','').replace(',','') for i in row]
这将返回:
['HelloWorld', 'Hello World', None]