【问题标题】:How to pass a random key-value-pair to a function/constructor in Python?如何将随机键值对传递给 Python 中的函数/构造函数?
【发布时间】:2020-04-13 17:24:58
【问题描述】:

我有这个字典

cards = {
    'A': 1,
    '2': 2,
    '3': 3,
    '4': 4,
    '5': 5,
    '6': 6,
    '7': 7,
    '8': 8,
    '9': 9,
    '10': 10,
    'J': 10,
    'Q': 10,
    'K': 10
}

还有这个类

class Dealer:

    def __init__(self, hand1, hand2):
        self.hand1 = hand1
        self.hand2 = hand2

我想将一个随机键值对传递给构造函数。 我不知道怎么... 我试过这个

dealer = Dealer(cards, cards) 但它会传递整个字典。

我也试过了

dealer = Dealer(cards[random.choice(list(cards.keys()))], cards[random.choice(list(cards.keys()))])

并且可以获得一个随机值,但我想要一个键值对或至少只是传递它们的键?

【问题讨论】:

  • random.choice(list(cards.items()))
  • Dealer(*random.choice(list(cards.items())))

标签: python dictionary key-value


【解决方案1】:

你在正确的轨道上。从字典中获取一个键,然后用它来查找它的对应值。像这样:

import random

adict = {"1":"4","2":"5"}

k = random.choice(list(adict.keys()))
pair = (k, adict[k])

print(pair)
# output: ('1','4')

【讨论】:

    猜你喜欢
    • 2015-12-18
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多