gpt4 book ai didi

Python:列表或 float 或数组 float

转载 作者:太空宇宙 更新时间:2023-11-04 03:11:44 25 4
gpt4 key购买 nike

我有一个函数需要输入 float 类型以进行进一步计算。不幸的是,输入类型包括:

  1. 列表
  2. float
  3. numpy.array

我对我的解决方法不满意,我想知道是否有更好的解决方案。

def get_correct_float(x):
try:
if len(x) == 1:
return x[0]
except:
return x

a = [.5]
b = .5
c = np.array([.5])

get_correct_float(a) == get_correct_float(b) == get_correct_float(c)
TRUE
get_correct_float(a)
0.5

最佳答案

使用isinstance ,

>>> import numpy as np
>>> l = [[.5], .5, np.array([.5])]
>>> f = [x if isinstance(x, float) else x[0] for x in l]
>>> f
[0.5, 0.5, 0.5]

def get_correct_float(x):
return x if isinstance(x, float) else x[0]

以前的回答,

import numpy as np

def get_correct_float(x):
if isinstance(x, list):
return x[0]
elif isinstance(x, np.ndarray):
return x[0]
else:
return x

关于Python:列表或 float 或数组 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37797143/

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