python在列表中计算bool

python在列表中计算bool,python,list,boolean,list-comprehension,Python,List,Boolean,List Comprehension,我可以在列表中评估bool吗 我想创建一个不包含以“”结尾的项目的列表。zip”: outlist = [x for x in os.listdir(path) if x *DOES NOT* end with '.zip'] 我使用列表理解来实现完全相反的目的: outlist2 = [x for x in os.listdir(path) if x.endswith('.zip')] 这是我名单上最重要的部分 os.listdir(path): [ 'sample1.zip', 'sam

我可以在列表中评估bool吗

我想创建一个不包含以“
”结尾的项目的列表。zip”

outlist = [x for x in os.listdir(path) if x *DOES NOT* end with '.zip']
我使用列表理解来实现完全相反的目的:

outlist2 = [x for x in os.listdir(path) if x.endswith('.zip')]
这是我名单上最重要的部分

os.listdir(path):
[
'sample1.zip', 'sample2.zip', 'sample3.zip', 'sample4.zip',
'sample1.txt', 'sample2.pdf', 'sample3.csv', 'sample4.xlsx'
]

只需添加
而不是

outlist2 = [x for x in os.listdir(path) if not x.endswith('.zip')]
outlist2 = [x for x in os.listdir(path) if not x.endswith('.zip')]
if
表达式可以是任何有效的Python表达式,包括使用布尔运算符的表达式

演示:


当然可以-只需在那里打一个
not
操作员:

outlist2 = [x for x in os.listdir(path) if not x.endswith('.zip')]