-3

基本上,我试图找出如何从列表中删除匹配项。但似乎没有任何关于如何执行此特定功能的信息。

例如,我想要的是:

假设有一个列表:

pHands[0] = ['ad', 'ac', 'as', 'ah', '7d', '8s', '9d', 'td', 'js', 'jd']

所以在上面,我的列表,命名为pHands[0]有十个项目。

我正在尝试创建一个功能,其中在列表中启动搜索,并且删除第一个匹配数字/字母达到四个的任何匹配项目。

所以最后,ad, ac, as, ah(四个a)将全部从列表中删除/删除。我需要列表自动检测列表中的项目中是否有四个匹配的首字母/数字。

剩下的名单将是:

pHands[0] = ['7d', '8s', '9d', 'td', 'js', 'jd']

如果有帮助,每个项目中的两个字母/数字将通过以下函数串在一起:

for suite in range(4):
    for rank in range(13):
        deck.append(rankList[rank]+suitList[suite])

因此可以使用以下方式直接访问它们:card[0] 用于第一个字母/数字 card[1] 用于第二个

此函数也将用于其他列表,因此它不能专门针对“a”,需要自动搜索四个匹配的首字母。

4

1 回答 1

1

您将需要遍历该玩家的卡片:

if any(card[1] == target_card for card in pHands[target_player]):

或者为卡片选择更好的数据结构,例如命名元组。

于 2013-08-02T06:15:18.550 回答