2013-10-10 34 views
0

什麼,我想在這裏做的是追加元素形式the_list與在[-1]位置最大價值輸出元件在特定位置具有最大值。 Python的

。我開始爲the_list中的元素創建索引字典,但是我開始迷失在邏輯流程中。

the_list = [['a','b','c','1'],['b','c','e','4'],['d','e','f','2']] 
D_indx_element = {} 
D_indx_value = {} 
output = [] 

temp = [] 
for i,k in zip(range(0,len(the_list)),the_list): 
    D_indx_element[i] = k 
    temp.append(int(k[-1])) 
    D_indx_value[i] = int(k[-1]) 
到底

我想有:

output = [['b','c','e','4']] 

因爲圖4是大於1和2

回答

1

使用max

>>> the_list = [['a','b','c','1'],['b','c','e','4'],['d','e','f','2']] 
>>> max(the_list, key=lambda x:int(x[-1])) 
['b', 'c', 'e', '4'] 

沒有lambda

def func(x): 
    return int(x[-1]) 
max(the_list, key=func) 
#['b', 'c', 'e', '4'] 
+0

嘿你有機會知道一個很好的來源來弄清除了官方文檔之外Lambda實際上在做什麼嗎?我總是在人們的代碼中看到它,它似乎是一種單線函數類型的東西,但我實際上無法向其他人解釋它是什麼 –

+0

@ draconisthe0ry http://www.diveintopython.net/power_of_introspection/lambda_functions.html –

+2

@ draconisthe0ry - 'lambda'做一個內聯函數。它與'def'沒有什麼不同,只是它可以在def不能使用的地方使用(如上例所示)。這裏是一個參考:http://stackoverflow.com/questions/890128/python-lambda-why。說實話,Python沒有'lambda'就可以做得很好 - 它只是語法糖。 ;) – iCodez

相關問題