如何将此代码转换为python列表理解?

for i in range(l):
   q = input()
   if(q not in array_num):
       print("NOT PRESENT")
   else:
       print(array_num.count(q))

我在下面写道,但不知道在哪里使用q = input()

[print("NOT PRESENT") if q not in array_num else print(array_num.count(q)) for i in range(l)]
wang2005727 回答:如何将此代码转换为python列表理解?

最好避免使用列表理解的副作用。请参见Is it Pythonic to use list comprehensions for just side effects?Printing using list comprehension。就是说,为了好玩,使用Python3.8的walrus operator,您可以使用

[print("NOT PRESENT") if (q:=input()) not in array_num else print(array_num.count(q)) for i in range(l)]

其中表达式q:=input()将导致将input()的返回值分配给q,并且表达式本身的值将变为{{1}的新值的值}。

本文链接:https://www.f2er.com/3168549.html

大家都在问