0

我需要有关如何找到哪个测试的数字最低的帮助。这段代码将有助于解释。

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

4

3 回答 3

6
  1. 找到与最小元素对应 i的索引:numbers_list
  2. 取回test_list[i]
于 2013-04-22T03:42:27.687 回答
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'
于 2013-04-22T03:51:24.107 回答
0

我相信您会希望使用字典。它看起来像这样..

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

sortedDict = sorted(aDict)

lowestValue = sortedDict[0]

print lowestValue
于 2013-04-22T04:18:41.057 回答