从列表中的字符串中删除元素

时间:2017-04-02 01:17:13

标签: arrays string python-3.x

我有一个由转换为字符串的字典组成的列表,该列表中的每个插槽如下所示 “{<候选人:候选人1>:1.5}'

我想删除所有非字母数字和':'元素,所以它们看起来像这样:

'候选人:候选人1:1.5'

我尝试执行以下操作:

for l in list:
        for l2 in l:
                if l2.isalnum()==False or l2==':':
                        l2.replace("")

但是我没有得到理想的结果,我怎么能这样做?

提前致谢

1 个答案:

答案 0 :(得分:1)

假设:

>>> li=[ '{: 1.5}',  '{: 1.6}']

您可以按元素regex使用元素:

>>> [re.sub(r'[^\w\d.]+',"",e) for e in li]
['1.5', '1.6']

修改

如果您想保留:,您可以这样做:

>>> [re.sub(r'[^\w\d.:]+',"",e) for e in li]
[':1.5', ':1.6']