请将此循环和 try/except 与 python 写在一行中

Please write this loop and try/except in one line with python

如何将这段代码压缩成一行?谢谢您的帮助。

for query in announcements:
    try:
        query.price = int(query.price)
        listme.append(query.price)
    except:
        print(listme)

这基本上会做同样的事情,没有失败的打印:

listme.extend(int(query.price) for query in announcements if query.price.isdigit())

这里假设 query.price 是一个字符串,listme 是一个现有的列表。

尝试同时打印失败信息会很棘手(且不可读)但可能:

listme.extend(x for x in [int(query.price) if query.price.isdigit() else print(query.price) for query in announcements] if x is not None)

除非这是一项家庭作业或其他事情,否则坚持将您的代码放在一个凌乱且不可读的行中通常是非常糟糕的做法,所以不要这样做