Python:如何查找列表中特定数量的项目是否相同?

标签 python arrays list poker

我正在尝试创建一个扑克游戏,并且我有一个值列表,可以是列表中从 Ace 到 King 的任何值(名为“数字”)。为了确定玩家是否拥有“四同一”,程序需要检查值列表中的四项是否相同。 我不知道该怎么做。您是否会以某种方式使用 number[0] == any in number 函数四次,还是完全不同的东西?

最佳答案

假设您的 number 变量是 5 个元素(五张卡片)的列表,您可以尝试如下操作:

from collections import Counter
numbers = [1,4,5,5,6]
c = Counter(numbers)

这利用了 awesome Counter class 。 :)

获得计数器后,您可以通过执行以下操作来检查最常见事件的数量:

# 0 is to get the most common, 1 is to get the number
max_occurrencies = c.most_common()[0][1]   
# this will result in max_occurrencies=2 (two fives)

如果您还想知道哪一张卡片出现频率较高,您可以使用元组解包一次性获取这两个信息:

card, max_occurrencies = c.most_common()[0]
# this will result in card=5, max_occurrencies=2 (two fives)

关于Python:如何查找列表中特定数量的项目是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49094098/

相关文章:

c - 在C中,如何存储长字符串(例如密码)

java - 亚马逊 Mosquitos - ArrayIndexOutOfBounds

javascript - loadData() 返回空数组

python - YouTube直播字幕

python - OS X El Capitan 上的 SDL_image 视觉故障

python - 如何使用 pywinauto 使窗口透明?

c# - 从列表中删除项目以及对它们的所有引用

python - 使用 Python/argparse 创建可组合/分层命令行解析器

python - 如何在其他列表中进行比较和插入的高效循环

c# - 如何将 DataView、DataRowView 转换为通用类型列表