Python 检查列表的两个值是否具有相同的数字,返回多少相同的数字
我试图检查列表的两个参数是否有相同的数字,如果有,有多少是相同的。我想使用for循环来实现这一点 到目前为止,我已经尝试过这个,但它不工作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 但我想要的结果是:
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