python - 根据多维数组中元素的出现次数执行过程
问题描述
我是一年级 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:
没有太多的运气。
任何帮助将不胜感激,谢谢。
解决方案
这不是最简洁的方式,但它可能更容易理解它的工作原理:
if len([x for x in hand if x[3] == 'Spades']) == 4:
推荐阅读
- python-3.x - 使用 Python 进行 PDF 文本挖掘
- python - 在python中带有dict的IndexError,
- jetty - 如何解决 HTTP:503 服务不可用错误,使用 java11 的码头驱动程序?
- python - 每次提交时,Web UI 中的 Selenium 类都会调用
- java - Spring Boot @Autowired 对象 - Nullpointer 异常
- java - Java For循环根据条件递增或递减
- node.js - 从 bsync.compare 崩溃节点中“抛出”?
- python - Python上有每种颜色的文件吗?
- android-studio - 无法创建调试桥:无法启动 adb 服务器:无法检测 adb 版本
- powershell - 需要帮助创建 ADOrganizationalUnits