我有一個從給定的列表返回一個比較矩陣的功能:從Python中的比較矩陣獲取數據
def compare(a, b):
if b > a:
return 1
elif b < a:
return -1
else:
return 0
def matrix(data):
return [[compare(a, b) for b in data] for a in data]
我以這種方式使用此功能:
>>> matrix([0, 4, 5, 2, 1, 3])
[[0, 1, 1, 1, 1, 1],
[-1, 0, 1, -1, -1, -1],
[-1, -1, 0, -1, -1, -1],
[-1, 1, 1, 0, -1, 1],
[-1, 1, 1, 1, 0, 1],
[-1, 1, 1, -1, -1, 0]]
我需要一個函數返回給定矩陣的數據,如下面的代碼,但我不知道該怎麼做。
>>> data_from_matrix([[0, 1, 1, 1, 1, 1],
[-1, 0, 1, -1, -1, -1],
[-1, -1, 0, -1, -1, -1],
[-1, 1, 1, 0, -1, 1],
[-1, 1, 1, 1, 0, 1],
[-1, 1, 1, -1, -1, 0]])
[0, 4, 5, 2, 1, 3]
所以,你要使用的信息_all of_'d1..d5> d0'推斷D0 _must be_零?原始序列是否總是「0..5」的置換,還是還有其他一些你沒有提到的限制嗎? – Useless 2012-02-08 15:40:24