在数组中了解一个项目的位置

14

我想在洗牌后将J1的位置与其下方的卡片交换。有没有一种方法可以在不知道数组中J1位置的情况下引用它?谢谢。

import random

deck = ['AC', '2C', '3C', '4C', '5C', '6C', '7C', '8C', '9C', 'TC', 'JC', 'QC', 'KC',
        'AS', '2S', '3S', '4S', '5S', '6S', '7S', '8S', '9S', 'TS', 'JS', 'QS', 'KS',
        'AH', '2H', '3H', '4H', '5H', '6H', '7H', '8H', '9H', 'TH', 'JH', 'QH', 'KH',
        'AD', '2D', '3D', '4D', '5D', '6D', '7D', '8D', '9D', 'TD', 'JD', 'QD', 'KD',
        'J1', 'J2']

# shuffle deck
random.shuffle(deck)

#switch Joker1 with card under it
2个回答

7

2

index(arg) 返回列表中 arg 的索引值。因此,您可以这样做:

from random import shuffle
deck = [value + suit for value in range(1, 11) + list ("AJQK") for suit in "HCDS"] + ["J1", "J2"]

shuffle(deck)

idx = deck.index('J1')
deck[idx: idx+2] = deck[idx: idx+2].reverse()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接