【问题标题】:unable to append using if statement无法使用 if 语句追加
【发布时间】:2020-05-15 16:36:07
【问题描述】:

我有三个列表。如果对象包含“HP”或“LP”,我想将列表对象附加到“过滤”列表中。输出将所有文件名项改为“过滤”。不确定为什么会发生这种情况。您的见解将不胜感激!

filenames = ['HP PLEAS 56s Jazz.wav', 'HP PLEAS 57s groupLaughing.wav', 'HP 
PLEAS 57s Guitar_2.wav', 'PLEAS 56s Jazz.wav']
filtered = []
original = []

for x in filenames:
    if "LP" or "HP" in x:
        filtered.append(x)
    else:
        original.append(x)

【问题讨论】:

    标签: python list if-statement append


    【解决方案1】:

    条件"LP" or "HP" in x总是True,相当于你的条件:("LP") or ("HP" in x),其中("LP")总是True,你可以使用:

    for x in filenames:
        if ("LP" in x) or ("HP" in x):
            filtered.append(x)
        else:
            original.append(x)
    

    【讨论】:

    • 凯德拉克你好。非常感谢您的回答。你能告诉我为什么这两个代码的功能不同吗?
    猜你喜欢
    • 1970-01-01
    • 2019-10-16
    • 1970-01-01
    • 1970-01-01
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 2021-02-15
    • 1970-01-01
    相关资源
    最近更新 更多