从列表中删除匹配项?

时间:2013-08-02 06:08:36

标签: python

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

例如,我想要的是:

让我们说有一个清单:

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

所以,我的列表名为pHands[0],其中有10个项目。

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

所以最后,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])

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

此功能也将用于其他列表,因此无法专门定位“a”,需要自动搜索四个匹配的首字母。

1 个答案:

答案 0 :(得分:1)

你需要迭代该玩家的牌:

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

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