我有一副牌是由以下代码组成的:
import itertools
suits = "DCHS"
ranks = "23456789TJQKA"
cardDeck = list(set(itertools.product(ranks, suits)))
我想把这副牌按等级分类。 执行排序(cardDeck,key=lambda x:x[0])按字母顺序(23456789AJKQT)对列表进行排序,但我想找到一种方法来保持列顺序(23456789TJQKA)。你知道吗
我一直在尝试为key=参数获取一个lambda函数,该函数将遍历ranks字符串中的字符,但到目前为止我遇到了困难。也许我需要制作一个字符列表而不是字符串?你知道吗
为什么不直接按照等级字符串中卡片等级的索引排序呢。你知道吗
例如,“A”是12个元素,“K”是第11个元素。因此,王者之后才是王者。
导入itertools
输出
[('2','S'),('2','C'),('2','H'),('2','D'),('3','D'),('3','H'),('3','C'),('3','S'),('4','D')。。。你知道吗
您的
ranks
列表中已经有了排名。在你的分拣机上使用:您可以看到full thing here:
提供:
相关问题 更多 >
编程相关推荐