在Python中,如何将整数分配给包含字符串的列表中的元素?

在Python中,如何将整数分配给包含字符串的列表中的元素?,python,list,Python,List,制作卡片组后,我想为每张卡片分配一个值,以便 黑桃之王(值为13)的值高于 例如,黑桃皇后(12)。我不知道该怎么做。因为你的目标是将一张卡与一个值关联起来,所以你想用字典来代替(就像评论中说的那样)。以下是一个不会对代码进行太多更改的实现,它可以帮助您: ## made a list of playing cards e.g. 2C 2 of Clubs and QS is queen of Spades num=0 numberlist=[] newSuitL

制作卡片组后,我想为每张卡片分配一个值,以便 黑桃之王(值为13)的值高于
例如,黑桃皇后(12)。我不知道该怎么做。

因为你的目标是将一张卡与一个值关联起来,所以你想用字典来代替(就像评论中说的那样)。以下是一个不会对代码进行太多更改的实现,它可以帮助您:

    ## made a list of playing cards e.g. 2C 2 of Clubs and QS is queen of Spades
    num=0
    numberlist=[]
    newSuitList= []
    for i in range(8):
        num = 2
        num = num + i
        num = str(num) + 'C'
        numberlist.append(num)
    for i in range (5):
        suitList = ["T", "J", "Q", "K", "A"]
        suit = suitList[i] + 'C'
        newSuitList.append(suit)
    wholeDeck = numberlist+newSuitList
因此,您可以访问这样的卡

num=0
wholeDeck = {}
for i in range(8):
    num = 2
    num +=  i
    wholeDeck[str(num)+'C']  = num
suitList = ["T", "J", "Q", "K", "A"]
for item in suitList:
    num +=1
    wholeDeck[item+'C']  = num

另一种简单的方法是使用列表:

print(wholeDeck['KC']) --> returns 13

然后
getCardvalue('Q')
将返回值
12

您正在查找的是dict而不是list。您可能希望看看这些用Python表示扑克牌的方法-我没有意识到这一点。谢谢不使用dict就可以做到这一点吗?老师现在不想让我们使用听写,看上面的答案
cards = ['A', 2, 3 , 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K']

def getCardValue(card):
  return cards.index(card) + 1