提问者:小点点

将带有字典的浮点数转换为新列表


你好,我有一本字典和一个花车。

我喜欢用字典里的字符串替换浮点数中的数字。

我怎么能那么做?

 dictionary
Out[179]: 
{1: 'BaGr',
 2: 'OLF',
 3: 'MEDsr',
 4: 'MEDmr',
...
}

float
array([43., 3., 2., ..., 0., 0., 0.], dtype=float32)

共2个答案

匿名用户

如果浮动键在dict中不可用,则不会替换

for i in range(len(float)):
    float[i] = dictionary.get(int(float[i]), float[i])

匿名用户

考虑到数据:

dd = {1: 'BaGr',
 2: 'OLF',
 3: 'MEDsr',
 4: 'MEDmr'
}

float_lst = [43., 3., 2., 0., 0., 4.]

使用列表-理解:

print([dd.get(int(float_lst[i]), float_lst[i]) for i,x in enumerate(float_lst)])

输出:

[43.0, 'MEDsr', 'OLF', 0.0, 0.0, 'MEDmr']