如何检查列表中的整数或浮点数的符号是​​正数还是负数?

How can I check if an integer or float number in a list is positive or negative in sign?

我正在使用 Python 3.6。检查列表中的浮点数或整数是负数还是正数的有效方法是什么?

我想遍历一个列表,只检索特定符号的数字索引。

例如:

x = [1,-7, 9, 3, 6, -3 ]

y = [ i for i in x if i    **____**   ]

我觉得它就在我眼皮底下,但它就是不来找我。

你是这个意思吗?

x = [1,-7, 9, 3, 6, -3 ]

y = [elem for elem in x if elem < 0]

z = [elem for elem in x if elem > 0]

print(y)  # -> [-7, -3]
print(z)  # -> [1, 9, 3, 6]

在这种有些特殊的情况下,您可以使用稍微不同的方法并同时创建两个列表:

x = [1,-7, 9, 3, 6, -3 ]

yz = y, z = [], []
for elem in x:
    yz[elem > 0].append(elem) if elem else None

print(y)  # -> [-7, -3]
print(z)  # -> [1, 9, 3, 6]