根据某些键

时间:2018-03-24 19:26:17

标签: python python-3.x optimization

我有一大堆属于给定范围name_range_old的名称。 例如:

name_range_old = [name1, name2]

names = [name1, name2, name1, name1, ...]

我想根据不同的标准(debt_range中的名称)重新分类每个元素。我以一种可能不是最优的方式完成它,我正在寻找可能更快的替代方案。

这是我的尝试:

names_list = ['A', 'B', 'A', 'C', 'E', 'F', 'B', 'G', 'G', 'D', 'H']
name_range_old = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
name_range_new = ['K', 'U', 'V']
n_names = len(name_range_new)

name_index = []                    # This index maps the old range to the new
name_index.append([0, 1, 2, 10])                        
name_index.append([3, 4, 5, 6])
name_index.append([7, 8, 9])               

def classifier(name):
    a = [i for i in range(n_names) if name in 
name_range_old[name_index[i]]]
    return name_range_new[a[0]]

names_list = [classifier(name) for name in names_list]

0 个答案:

没有答案