2013-04-22 42 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