python-3.x - 如何用两组填充字典?
问题描述
我有一个 Card 类,它具有分别访问卡片等级和花色的方法。
class Card:
def __init__(self, v, p):
self.value = v
self.naipe = p
def get_value(self):
return self.value
def get_naipe(self):
return self.naipe
def get(self):
return (self.value, self.naipe)
而且我还有一个功能可以返回混合牌组,还有一个功能可以只返回一张牌。Obs:这些功能不属于卡片类
def shuffle_pack():
pack = []
naipes = {'\u2660', '\u2661', '\u2662', '\u2663'}
values = {'2', '3', '4', '5', '6', '7', 'Q', 'J', 'K', 'A'}
for value in values:
for naipe in naipes:
pack.append(Card(value, naipe))
random.shuffle(pack)
return pack
def return_card(pack):
card = pack.pop()
return card
执行示例:
pack = shuffle_pack()
distribui_carta(pack).get_naipe()
'♡'
pack = shuffle_pack()
distribui_carta(pack).get_value()
'3'
pack = shuffle_pack()
distribui_carta(pack).get()
('2', '♠')
而不是列表,我想使用字典并用两组填充它。其中第一组,指的是key的值,是deck的花色,deck的值对应字典中的值。我正在寻找类似于 list 的 append 方法的东西,以在键和值之间进行这种“连接”。
我想这样做是为了在不使用 Card 类的情况下分别获取给定卡片的价值和花色。
解决方案
听起来你想要这样的东西:
suits_to_values_dict = {suit: list(values) for suit in suits}
推荐阅读
- python - 使用 Beautiful Soup 或 Selenium (Py) 下载 ASPX PDF 链接
- python - 安装python 3.7.2 usr/bin 后只有python 2.7
- html - 如何垂直居中文本,具有位置:绝对?
- python - 如何使用python从postgresql中的嵌套CTE输出嵌套的json?
- php - PHP/Oracle - 在 pk 列中插入
- reactjs - 如何在 React Native flexbox 中水平包装项目?
- pycharm - 我在 PyCharm 中的 Ctrl + O 等价物
- webstorm - 如何设置导入到 WebStorm
- javascript - 使用lamejs将blob编码为mp3
- vba - UserForm 填写电子表格