首页 > 解决方案 > Python中是否有一种干净的方法可以将列表或单个元素转换为特定格式?

问题描述

我有一个配置文件,其中的项目可以是单个元素或列表。

pct_accepted=0.75
pct_rejected=0.35, 0.5

回读后,它们都将成串,

config['pct_accepted']='0.75'
config['pct_rejected']=['0.35', '0.5']

除了必须检查它们是标量还是列表之外,是否有一种将它们转换为浮动的干净方法我现在的尝试是:

for k in ['pct_accepted','pct_rejected']:
   if isinstance(config[k], list) :
      config[k]=[float(item) for item in config[k]]
   if isinstance(config[k], string) :
      config[k]=float(config[k])

看起来不是那么整齐。

标签: pythonlistnumpymathfloating-point

解决方案


由于您包含numpy标签:

In [161]: np.array('12.23',float).tolist()                                                                   
Out[161]: 12.23
In [162]: np.array(['12.23','12.23'],float).tolist()                                                         
Out[162]: [12.23, 12.23]

简短,甜蜜和矫枉过正!


推荐阅读