1 用一个列表的顺序去排另一个列表
sorted(B, key=A.index)
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
在Python2中,sort函数还有一个cmp参数
- cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
2 将一个列表中的元素指向另一个列表的下标
from numpy import *
K = [ chr(k) for k in range(65,67) ] # ['A', 'B']
I = [0,1,2,3]
J = repeat(K, 2).tolist() # ['A', 'A', 'B', 'B']
S = [2,3,0,1]
T = []
'''1'''
for i in I:
j = J[i]
s = S[i]
t = J[s]
T.append(t)
print(T)
'''2'''
T = [ J[S[i]] for i in I ]
print(T)
'''3'''
def points_to(J, S):
T = [ J[S[i]] for i in range(len(J)) ]
return T
T = points_to(J= J, S= S)
print(T)
'''其他方法'''
pass
3 字典排序
I = range(3)
J = np.repeat([ chr(k) for k in range(65,67) ], 2).tolist()
R = np.array([3,2,0,1]) # [最大, 次大, 最小, 次小]
S = R.argsort() # R.从小到大的索引
dic_ = {}
for i in I:
t = J[S[i]]
# 如果dic_[t]存在则键值+1 否则键值为0+1
dic_[t] = dic_.get(t, 0) + 1 # dic_[t] = dic_[t] + 1 if dic_[t] else 0 + 1
print(dic_)
# 字典排序
# https://www.cnblogs.com/beile/p/11276532.html
sorted(dic_, reverse = True)