首页 > 解决方案 > 根据多维数组中元素的出现次数执行过程

问题描述

我是一年级 A-Level 学生,但我遇到了问题。这是我的清单(上下文 - 它是纸牌游戏拉米的一手,我正在制作的程序):

hand = [(1, '-', '3', 'Hearts'), (2, '-', '6', 'Diamonds'), (3, '-', '10', 'Spades'), (4, '-', 'Ace', 'Spades'), (5, '-', '7', 'Hearts'), (6, '-', 'Queen', 'Diamonds'), (7, '-', '3', 'Diamonds')]

我需要写一些东西来确定游戏何时获胜(即相同花色的 4 张牌或连续数字),我想使用 if 语句基本上说:“如果有 4 个元素具有相同的花色,那么 [游戏结束程序]。

我试过使用:

if sum(x.count('Spades') for x in list) == 4:

没有太多的运气。

任何帮助将不胜感激,谢谢。

标签: pythoncount

解决方案


这不是最简洁的方式,但它可能更容易理解它的工作原理:

if len([x for x in hand if x[3] == 'Spades']) == 4:

推荐阅读