我有一本字典
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)
答案 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])
这是一个边际差异,但它将通过巨大的条目做出重大改变。