Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将此代码转换为python列表理解?_Python_List_List Comprehension - Fatal编程技术网

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

如何将此代码转换为python列表理解?,python,list,list-comprehension,Python,List,List Comprehension,我写了下面的内容,但不知道在哪里使用q=input() 最好避免使用列表理解的副作用。见和。也就是说,为了好玩,使用Python3.8,您可以通过 [print("NOT PRESENT") if q not in array_num else print(array_num.count(q)) for i in range(l)] 其中表达式q:=input()将导致input()的返回值被分配给q,表达式本身的值将成为q的新值,因为它的副作用最好避免使用列表理解。见和。也就是说,为了好玩,

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


最好避免使用列表理解的副作用。见和。也就是说,为了好玩,使用Python3.8,您可以通过

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

其中表达式
q:=input()
将导致
input()
的返回值被分配给
q
,表达式本身的值将成为
q
的新值,因为它的副作用最好避免使用列表理解。见和。也就是说,为了好玩,使用Python3.8,您可以通过

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

其中表达式
q:=input()
将导致
input()
的返回值被分配给
q
,表达式本身的值将成为
q
的新值的值。为什么需要对列表进行理解?使用整洁的特性非常好,但是第一个代码位是可读的、可理解的、可维护的和清晰的。另一位,不太多。列表理解返回一个
列表
。这里您正在打印每次迭代的结果,所以在这里使用它没有意义。列表理解不允许将值分配给变量-您必须在[input()]中对q使用
,然后您可以构造列表理解-但它会创建不可读的代码。虽然您可以,我认为在列表理解中使用
input
不是一个好主意。为什么在列表理解中需要这样做?使用整洁的功能非常好,但第一个代码位是可读的、可理解的、可维护的和清晰的。另一位,不太多。列表理解返回一个
列表
。这里您正在打印每次迭代的结果,所以在这里使用它没有意义。列表理解不允许将值分配给变量-您必须在[input()]
中对q使用
,然后您可以构造列表理解-但它会创建不可读的代码。虽然您可以,我认为在列表中使用
input
不是一个好主意
[print("NOT PRESENT") if (q:=input()) not in array_num else print(array_num.count(q)) for i in range(l)]