将字典值转换为按另一个数组

时间:2017-05-15 12:47:10

标签: python arrays sorting dictionary

我有一本字典

mydict = {'jon': 12, 'alex': 17, 'jane': 13}

我要创建一个np.array,其中包含值12, 17, 13,但按其他数组排序

sortby = np.array(['jon', 'jane', 'alex'])

应该将输出产生为

sorted_array = np.array([12, 13, 17])

任何比循环遍历sortby数组更有效的方法如下所示?

sorted_array = []
for vals in sortby:
     sorted_array.append(mydict[vals])

return np.array(sorted_array)

1 个答案:

答案 0 :(得分:2)

使用列表理解,

class Employee {
    private final String id;
    private final String name;
    private final Number salary; //generic type salary

    public Employee(String id,String name,Number salary){
        this.id = id;
        this.name = name;
        this.salary = salary;
    }

    public String getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public Number getSalary() {
        return salary;
    }

}

修改

执行时间,明确穆罕默德和摩西的讨论

In [100]: np.array([mydict[i] for i in sortby])
Out[100]: array([12, 13, 17])

这是一个边际差异,但它将通过巨大的条目做出重大改变。