class Card:
def __init__(self, suit, value):
self.suit = suit
self.value = value
def __repr__(self):
return f"{self.value} of {self.suit}"
class Deck:
def __init__(self):
suits = ["Clubs", "Diamonds", "Hearts", "Spades"]
values = ["A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"]
self.cards = [[Card(val, itm) for itm in values] for val in suits] #ISSUE
my_deck = Deck()
my_deck.cards是一个包含4个列表的列表。所有52张卡都在那儿,但我只想列出所有52张卡的简单清单。如何使用#ISSUE重写该行,以使其成为常规列表,而不是包含4个列表的列表?
答案 0 :(得分:0)
多亏了史蒂文·鲁姆巴尔斯基(Steven Rumbalski),我现在才知道删除内部方括号可以使我得到想要的单层列表。
self.cards = [[Card(val, itm) for itm in values] for val in suits] #ISSUE
成为:
self.cards = [Card(val, itm) for val in suits for itm in values]