一個數組根據另一個數組進行排序
a = ['1', '5', '4', '3']
b = ['e', 'f', 'q', 'o']
print "before sort"
print a
print b
n = len(a)
for i in range(n-1):
for j in range(1,n-i):
if int(a[j-1]) > int(a[j]):
a[j-1], a[j] = a[j], a[j-1]
b[j-1], b[j] = b[j], b[j-1]
print "after sorted"
print a
print b
Output:
before sort
['1', '5', '4', '3']
['e', 'f', 'q', 'o']
after sorted
['1', '3', '4', '5']
['e', 'o', 'q', 'f']
2.使用lambda進行排序
a = ['1', '5', '4', '3']
b = ['e', 'f', 'q', 'o']
c = zip(a,b)
>>> sorted(c, key=lambda c: c[0])
[('1', 'e'), ('3', 'o'), ('4', 'q'), ('5', 'f')]