【问题标题】:How can I check if an integer or float number in a list is positive or negative in sign?如何检查列表中的整数或浮点数的符号是​​正数还是负数?
【发布时间】:2017-09-27 21:06:28
【问题描述】:

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

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

例如:

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

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

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

【问题讨论】:

  • 为什么不检查i是大于还是小于0?

标签: python floating-point integer python-3.6 negative-number


【解决方案1】:

这是你的意思吗?

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]

【讨论】:

    猜你喜欢
    • 2011-04-30
    • 2022-01-10
    • 2012-05-12
    • 2011-04-22
    • 2018-03-20
    • 1970-01-01
    相关资源
    最近更新 更多