如何一起使用两个列表?

我有 2 个清单;材料及其相应的数量。
例如,列表是:words=["banana","apple","orange","bike","car"]numbers=[1,5,2,5,1]
通过这些列表,我如何确定哪一个列表中的项目数量最少,哪一个列表中的项目数量最多。
我不知道从哪里开始谢谢!



HUX布斯
浏览 79回答 5
5回答

小唯快跑啊

from operator import itemgetterwords = ["banana", "apple", "orange", "bike", "car"]numbers = [1, 5, 2, 5, 1]min_item = min(zip(words, numbers), key=itemgetter(1))max_item = max(zip(words, numbers), key=itemgetter(1))print("The min item was {} with a count of {}".format(*min_item))print("The max item was {} with a count of {}".format(*max_item))输出:The min item was banana with a count of 1The max item was apple with a count of 5>>> 

DIEA

用于zip匹配相应的单词和数字:>>> words = ["banana", "apple", "orange", "bike", "car"]>>> numbers = [1, 5, 2, 5, 1]>>> list(zip(words, numbers))[('banana', 1), ('apple', 5), ('orange', 2), ('bike', 5), ('car', 1)]如果将zip它们(number, word)配对,则可以直接在这些对上使用min和max来获得最小/最大组合:>>> min(zip(numbers, words))(1, 'banana')>>> max(zip(numbers, words))(5, 'bike')dict或者从对中创建一个(word, number)并在其上使用min和max。这只会给你单词,但你可以从字典中获取相应的数字:>>> d = dict(zip(words, numbers))>>> d{'apple': 5, 'banana': 1, 'bike': 5, 'car': 1, 'orange': 2}>>> min(d, key=d.get)'banana'>>> max(d, key=d.get)'apple'

白衣染霜花

保持简单:如果您只想要一件最少和一件最多的物品words=["banana","apple","orange","bike","car"] numbers=[1,5,2,5,1]# get least and most amounts using max and minleast_amount = min(numbers)most_amount=max(numbers)# get fruit with least amount using indexindex_of_least_amount = numbers.index(least_amount)index_of_most_amount = numbers.index(most_amount)# fruit with least amountprint(words[index_of_least_amount])# fruit with most amountprint(words[index_of_most_amount])

慕森卡

您应该使用字典或元组列表来执行以下操作:words=["banana","apple","orange","bike","car"]numbers=[1,5,2,5,1]dicti = {}for i in range(len(words)):    dicti[words[i]] = numbers[i]print(dicti["banana"]) #1结果字典{'banana': 1, 'apple': 5, 'orange': 2, 'bike': 5, 'car': 1}这是如何使用元组列表获取其中的最大值和最小值的方法words=["banana","apple","orange","bike","car"]numbers=[1,5,2,5,1]numMax = max(numbers)numMin = min(numbers)print([x for x,y in zip(words, numbers) if y == numMax ]) #maxesprint([x for x,y in zip(words, numbers) if y == numMin ]) #mins

青春有我

words = ["banana","apple","orange","bike","car"]numbers = [1, 5, 2, 5, 1]# Make a dict, is easieradict = {k:v for k,v in zip(words, numbers)}# Get maximums and minimumsmin_value = min(adict.values()) max_value = max(adict.values())# Here are the results, both material and values. You have also those which are tiedmin_materials = {k,v for k,v in adict if v == min_value}max_materials = {k,v for k,v in adict if v == max_value}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python