汇总来自另一个列表的相应索引的值

时间:2014-02-20 05:49:37

标签: python-3.x random

我有两个列表fantasiesdamages,每个列表长度为19:

fantasies[0] = ("Extreme sports")
damages[0] = 250000
fantasies[1] = "Truffles"
damages[1] = 5000
....
fantasies[19] = "Coffee"
damages[19] = 50000

我的程序随机选择n幻想并打印选定的值:

import random
i = 0
while i<n:
    print (random.choice(fantasies))
    i = i + 1

现在我需要它来计算damages值,它们对应于随机选择的fantasies值。

例如,如果程序在索引2,6和18处随机选择fantasies,我需要它在相同的索引处总结damages。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您可以zip将它们转换为元组并总结相关值:

import random
n = 3
data = zip(fantasies, damages)
total = 0
for i in range(n):
    myChoice = random.choice(data)
    print myChoice[0]
    total += myChoice[1]

我应该补充几件事:

  1. 将来您可能希望使用字典存储关联值,而不是使用两个列表。

  2. 我觉得你需要独特的选择。如果是这样,您需要使用shuffle