Как преобразовать этот код в понимание списка Python? - PullRequest
0 голосов
/ 04 ноября 2019
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)]

1 Ответ

2 голосов
/ 04 ноября 2019

Лучше избегать использования списочных пониманий для его побочных эффектов. См. Является ли Pythonic использованием списочных представлений только для побочных эффектов? и Печать с использованием списочных представлений . Тем не менее, ради интереса, с оператором моржа Python3.8 вы можете сделать это с помощью

[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, и значение самого выражения становится значением нового значения q.

...