python - 使用 if False 并在不停止 Loop 的情况下打印

标签 python if-statement output

我定义了一个“值”,并且有一个 IF 语句,例如:

value = any ("1" in valueMaj for valueMaj in list)
if value == False:

我可以让我的打印语句打印出所有不正确的内容,而不仅仅是一个。示例:

输入

print("FILE NOT MATCH:", file) 

输出

FILE NOT MATCH: filenumber1.txt

但是,我希望它打印所有不匹配的内容,而不是停止循环。

最佳答案

如果您需要所有不匹配的值,请不要使用any()。创建一个列表,而不是使用带有过滤器的列表理解:

not_matching = [valueMaj for valueMaj in some_list if '1' not in valueMaj]
if not_matching:
    print('The following files do not match:', ', '.join(not_matching))

或使用循环打印单个文件。

any() 会短路并停止迭代;它仅适用于根据序列有效测试条件,不适用于过滤该序列。

关于python - 使用 if False 并在不停止 Loop 的情况下打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35895119/

相关文章:

python - 如何使用 BeautifulSoup 获取数据

PHP MYSQL 如果字段等于检查回显

php - laravel if 语句不起作用

Java 获取输出 CallableStatement JDBC

javascript - 如何在Javascript中逐行读取终端命令行的输出

c++ - 将文件读入程序

python - 在重新定义 logging.root 时使用 python 'logging' (Kivy)

python findall 只查找最后一次出现

python - TAB 键在我的 PYQT5 和 Python 代码中不起作用

java - 将数组列表中的值添加到 int