【发布时间】:2018-11-09 12:35:58
【问题描述】:
我需要比较以下sequences 列表项:
sequences = ['sphere_v002_', 'sphere_v002_0240_', 'test_single_abc_f401']
到:
folder = 'sphere_v002'
然后处理包含folder 的列表项。
我有一个工作功能,但我想改进它。
当前代码是:
foundSeq = False
for seq in sequences:
headName = os.path.splitext(seq.head())[0]
#Check name added exception for when name has a last underscore
if headName == folder or headName[:-1] == folder:
foundSeq = True
sequence = seq
if not foundSeq:
...
我的改进如下:
if any(folder in os.path.splitext(seq.head())[0] for seq in sequences):
print seq
然后我收到以下错误:
local variable seq referenced before the assignment
如何使用改进的解决方案获得正确的输出?
【问题讨论】:
-
也许使用
filter函数..?