gpt4 book ai didi

python - 根据 num 条件返回 nums 列表

转载 作者:行者123 更新时间:2023-12-01 02:32:07 25 4
gpt4 key购买 nike

如果列表中的 num 大于 0.5,我想得到 1,否则得到 0。

例如,a是一个列表

Matlab:

b = (a > 0.5)

Python:

b = [1 if x > 0.5 else 0 for x in a]
b = [int(x > 0.5) for x in a]

我想知道Python中是否有更短的表达式?

最佳答案

如果 a 是矩阵,则最好使用 numpy 数组。这基本上是 Python 中的 matlab 对应部分:

>>> import numpy as np
>>> a = np.array([0.35,0.76,0.22,0.10])
>>> a > 0.5
array([False, True, False, False], dtype=bool)
>>> (a > 0.5).astype(int)
array([0, 1, 0, 0])

因此,a > 0.5 构造了一个与原始数组具有相同维度的数组,并使用存储 True 的 bool 值,以防数字大于 0.5 code>,否则 False

通过使用.astype(int),您可以将其转换为其他类型( bool 值除外),例如int

Numpy 可以处理任意维度的数组,而且调用是由 Python 外部的专用包完成的,从而使其性能更好。

关于python - 根据 num 条件返回 nums 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46682543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com