, 그것은 numpy
을 사용으로 찾고 가치가있을 수도 있습니다. 이에서
In [1]: import numpy as np
In [2]: a = ['hi','hello']
In [3]: b = ['alice','bob']
In [4]: c = ['foo','bar']
In [5]: d = ['spam','eggs']
In [6]: score = [42,17]
는, 형식 (a,b,c,d,score)
에서 튜플의 목록을 작성하고 DTYPE (str,str,str,str,int)
각 하나를 저장하고, 당신도 그들에 액세스 할 수 이름을 그들에게 ('a','b','c','d','score')
을 제공 할 수 있습니다 :이 문제는 매우 쉽게 NumPy와 배열로 해결 나중에 :
In [7]: data = np.array(zip(a,b,c,d,score),
...: dtype = [('a','S5'),('b','S5'),('c','S5'),('d','S5'),('score',int)]
...: )
In [8]: data
Out[8]:
array([('hi', 'alice', 'foo', 'spam', 42),
('hello', 'bob', 'bar', 'eggs', 17)],
dtype=[('a', 'S5'), ('b', 'S5'), ('c', 'S5'), ('d', 'S5'), ('score', '<i8')])
이 배열의 장점은 자신의 이름으로 모든 '목록'(필드)에 액세스 할 수 있습니다 :
In [9]: data['a']
Out[9]:
array(['hi', 'hello'],
dtype='|S5')
In [10]: data['score']
Out[10]: array([42, 17])
정렬하려면 다음과 같이 정렬 할 필드 이름을 지정하십시오.
In [11]: sdata = np.sort(data, order='score')
In [12]: sdata
Out[12]:
array([('hello', 'bob', 'bar', 'eggs', 17),
('hi', 'alice', 'foo', 'spam', 42)],
dtype=[('a', 'S5'), ('b', 'S5'), ('c', 'S5'), ('d', 'S5'), ('score', '<i8')])
In [13]: sdata['b']
Out[13]:
array(['bob', 'alice'],
dtype='|S5')
제발, 비슷한 질문을 참조하십시오 : http : // stackoverflow.com/questions/6618515/sorting-list-based-from-another-list – alecxe
이 차례로 http://stackoverflow.com/q/9543211/989121에 속합니다. 그러나 목록이 크고 파이썬 == 2이면 'it.izip'이 단지'zip'보다 낫습니다. – georg