我正在尝试为条件输入尽可能短的代码.
条件:该数字应大于0.
输入:第一个数字确定下一个输入的数目.
例如:
4
1
-2
3
-4
所以我只想将list()追加到1和3.
这是我的代码:
n=int(input())
t=[]
for i in range(n):
x = int(input())
if(x>0):
t.append(x)
print(t)
我想知道它是否可以更短
我有主意,但是没有按我预期的那样工作-“语法错误”:
n=int(input())
t=[x=int(input()) for x in range(n) if(x)>0)]
print(t)
编辑:忘记了.我正在使用python3.1 …
解决方法:
这是一种实现方法:
[x for x in (int(input()) for _ in range(int(input()))) if x > 0]