如何转换
["5", "3","Code", "9","Pin"]
到
[5, 3,"Code", 9,"Pin"]
在NumPy中?
与这个问题How to convert an array of strings to an array of floats in numpy?类似,除了也有单词之外,还有办法吗?
答案 0 :(得分:3)
您可以使用列表推导来检查列表中的元素是否为数字,并相应地返回字符串或int
:
l = ["5", "3","Code", "9","Pin"]
[int(i) if i.isnumeric() else i for i in l]
输出
[5, 3, 'Code', 9, 'Pin']
答案 1 :(得分:0)
假设您的列表可以同时包含int和float。 (您的引用包含浮点数,示例包含列表),您可以使用如下列表理解:
mtlView.device = device
它将返回以下数组:
l = ["5", "3","Code", "9", "4.5", "Pin"]
def isfloat(value):
try:
float(value)
return True
except ValueError:
return False
l = [int(elem) if elem.isnumeric() else (float(elem) if isfloat(elem) else elem) for elem in l]