2013-04-22 31 views
0

我需要關於如何找到哪個測試具有最低編號的幫助。這段代碼將有助於解釋。基本Python列表

test_list=[] 
numbers_list=[] 

while True: 
    test=raw_input("Enter test or (exit to end): ") 
    if test=="exit": 
     break 
    else: 
     test_numbers=input("Enter number: ") 
     test_list.append(test) 
     numbers_list.append(test_numbers) 

如果test_list=['Test1','Test2','Test3']numbers_list=[2,1,3]

如何將我打印的Test2具有最低多少?由於Test2的= 1

+0

它們都是整數嗎? – Ofiris 2013-04-22 03:41:40

+3

如果你有一個鍵和數組的數組,然後字典是一個更好的數據類型 – 2013-04-22 03:41:46

回答

2

你可以使用zip來壓縮在一起:

>>> zip(numbers_list, test_list) 
[(2, 'Test1'), (1, 'Test2'), (3, 'Test3')] 

然後使用min找到最小的一對:

>>> min(zip(numbers_list, test_list)) 
(1, 'Test2') 

最後,您可以拆分對了:

>>> number, test = min(zip(numbers_list, test_list)) 
>>> number  
1 
>>> test 
'Test2' 
+1

+1,但我有一個感覺OP是要求作業,所以'zip'和朋友可能不被允許。 – 2013-04-22 04:03:04

0

我相信你會希望使用字典。它看起來像這樣..

aDict = {'1':'meh','2':'foo'} 

sortedDict = sorted(aDict) 

lowestValue = sortedDict[0] 

print lowestValue