如果元素中包含某个字符串,请将其删除

Joh*_*ith 4 python list

我有一份清单 ['1 2 4 5 0.9', '1 2 4 5 0.6', '1 2 4 5 0.3', '1 2 4 5 0.4']

我还有另一个清单: [0.9, 0.3, 0.7, 0.8]

我想用第二个列表和第一列表元素包括什么在第二个列表则元素被删除,因此第一个列表结束这样的:

[1 2 4 5 0.6', '1 2 4 5 0.4']
Run Code Online (Sandbox Code Playgroud)

mgi*_*son 8

你的意思是这样的:

>>> lst = ['1 2 4 5 0.9','1 2 4 5 0.6','1 2 4 5 0.3','1 2 4 5 0.4']
>>> s = set([0.9,0.3,0.7,0.8])
>>> [x for x in lst if float(x.split()[-1]) not in s]
['1 2 4 5 0.6', '1 2 4 5 0.4']
Run Code Online (Sandbox Code Playgroud)

  • 我认为`x.rsplit('',1)`更好,因为它允许你比`x.split()[ - 1]`做更少的分裂. (2认同)