Skip to main content
 首页 » 编程设计

python:如何获取数组的所有成员,除了符合条件的成员

2025年05月04日14lori

我正在尝试为我需要构建的所有 .asm 文件创建一个数组,except 现在给我带来麻烦的文件除外。这是我所拥有的,基于 Scons "Handling Common Cases"页:

projfiles['buildasm'] =  
  ['#build/'+os.path.splitext(x)[0]+'.asm' for x in projfiles['a']]; 

(这将 'foo.a' 形式的路径映射到 '#build/foo.asm')

我想为 projfiles['a'] 的每个成员运行此程序 except 如果数组的成员与“baz.a”匹配。我该怎么做?

请您参考如下方法:

projfiles['buildasm'] = ['#build/'+os.path.splitext(x)[0]+'.asm' for x in projfiles['a'] if x != 'baz.a'] 

或更一般地说:

ignored_files = ['baz.a', 
                 'foo.a', 
                 'xyzzy.a', 
                 ] 
projfiles['buildasm'] = ['#build/'+os.path.splitext(x)[0]+'.asm' for x in projfiles['a'] if x not in ignored_files]