假设我有如下字典
res = {'a':[10, 20, 3.9, 'NA', 'NA', 2.2]}
我只想在类型不是字符串的情况下用标量乘以字典值。
我尝试使用以下代码进行乘法
res['a'] * 10.2预期输出
scalar = 10.2
res = {'a':[102, 204, 39.78, 'NA', 'NA', 22.44]}发布于 2022-03-09 06:14:06
您可以使用isinstance检测哪些是非字符串,然后使用...if...else...对这些元素应用* 10.2:
res = {'a':[10, 20, 3.9, 'NA', 'NA', 2.2]}
res['a'] = [x * 10.2 if not isinstance(x, str) else x for x in res['a']]
print(res) # {'a': [102.0, 204.0, 39.779999999999994, 'NA', 'NA', 22.44]}如果您想“肯定”地检查一个元素是否是一个数字,那么您可以使用if isinstance(x, (float, int))。
https://stackoverflow.com/questions/71405027
复制相似问题