Python 检查列表的两个值是否具有相同的数字,返回多少相同的数字

Python 检查列表的两个值是否具有相同的数字,返回多少相同的数字,python,nested-loops,Python,Nested Loops,我试图检查列表的两个参数是否有相同的数字,如果有,有多少是相同的。我想使用for循环来实现这一点 到目前为止,我已经尝试过这个,但它不工作 num\u 1=获取匹配的数量(2、[5,2,2,5,2]) num_2=获取匹配的数量(5[5,2,2,5,2]) num\u 3=获取匹配的数量(4、[5,2,2,5,2]) num\u 4=获取匹配的数量(3[5,3,4,3,3]) num_5=获取匹配的数量(6、[5,2,2,6,2]) 我得到的结果是: 2 2 [0] 3 2 但我想要的结果是:

我试图检查列表的两个参数是否有相同的数字,如果有,有多少是相同的。我想使用for循环来实现这一点

到目前为止,我已经尝试过这个,但它不工作

num\u 1=获取匹配的数量(2、[5,2,2,5,2])
num_2=获取匹配的数量(5[5,2,2,5,2])
num\u 3=获取匹配的数量(4、[5,2,2,5,2])
num\u 4=获取匹配的数量(3[5,3,4,3,3])
num_5=获取匹配的数量(6、[5,2,2,6,2])

我得到的结果是:

2 2 [0] 3 2
但我想要的结果是:

3 2 0 3 1

因为在num_1中,数字2出现三次,以此类推……

您对
get\u多少匹配的定义是完全错误的。考虑这会产生期望的结果:

>>> def get_how_many_match(value_to_match, list_of_dice):
...     return list_of_dice.count(value_to_match)
... 
>>> num_1 = get_how_many_match(2, [5, 2, 2, 5, 2]) 
>>> num_2 = get_how_many_match(5, [5, 2, 2, 5, 2]) 
>>> num_3 = get_how_many_match(4, [5, 2, 2, 5, 2]) 
>>> num_4 = get_how_many_match(3, [5, 3, 4, 3, 3]) 
>>> num_5 = get_how_many_match(6, [5, 2, 2, 6, 2])
>>> 
>>> print num_1, num_2, num_3, num_4, num_5
3 2 0 3 1
如果是这样,那么也许:

def get_how_many_match(value_to_match, list_of_dice):
    count = 0
    for dice in list_of_dice:
        if dice == value_to_match:
           count += 1
    return count

将满足要求。

您忘了包含关键信息:代码是如何工作的?你得到输出了吗?如果是的话,它与您的预期有什么不同?还是有错误?如果是,包括完整的回溯。但是请告诉我们您期望的输出是静止的。有两件事:您不能命名变量列表,因为列表是python结构的名称。在if语句中,您应该编写if value_to_match==num:因为您迭代了listHi,谢谢,我尝试了这个方法,但它似乎仍然不起作用。我已经编辑了我的问题。请看你是否能解决这个问题。谢谢,但我不允许更改或添加内容到get_how_many_match(),我需要使用循环来检查列表中是否有数字,如果有,有多少数字。我使用了不同的方法,但使用了_dice.count(value_to_match)的列表,但它确实帮助了谢谢你
def get_how_many_match(value_to_match, list_of_dice):
    count = 0
    for dice in list_of_dice:
        if dice == value_to_match:
           count += 1
    return count