所以我有输出随机5位数字(骰子变量)的函数,然后我还有另一个变量,该变量的计数显示一个数字,具体取决于某个数字中``骰子''中有多少个数字。
dice = [1、3、1、4、6],所以合计= [2、0、1、1、0、1](因为有两个1等)...我的问题是我需要如果在总数中找到外观,则返回与该值关联的模具的分数。如果不是,则返回-1。

def countSame(appearances, totals):
    for appearances in totals:
        if appearances == True:
            return totals
        else:
            return -1


我似乎无法理解如何返回比分(对不起,我是新人)

最佳答案

您想要的是Counter

>>> from collections import Counter
>>> dice = [1, 3, 1, 4, 6]
>>> counts = Counter(dice)
>>> counts
Counter({1: 2, 3: 1, 4: 1, 6: 1})
>>> totals = [counts.get(i, 0) for i in xrange(1, 7)]
>>> totals
[2, 0, 1, 1, 0, 1]

关于python - Python-如何根据列表中是否出现外观来返回索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27202018/

10-12 21:41