我试图逆向工程下面的清单理解,但我的尝试只产生1卡。我错过了什么?你知道吗
ranks = [_ for _ in range(2, 11)] + ['JACK', 'QUEEN', 'KING', 'ACE']
suits = ['SPADE', 'HEART ', 'DIAMOND', 'CLUB']
def get_deck():
return [[rank, suit] for rank in ranks for suit in suits]
我的尝试:
def get_deck():
for rank in ranks:
for suit in suits:
return [rank, suit]
您可以通过在列表末尾添加
[::-1]
来反转列表。所以你可以做你的列表理解,然后扭转它。或者直接打电话给名单上的reversed
。你知道吗return
意味着您结束该函数的代码路径,并且可以选择返回一个单个值(该值当然可以是一个元组,因此您可以通过一个值返回多个值)。你知道吗如果要编写生成器函数,
yield
是您的朋友:如果我们现在调用函数,我们将获得一个生成器对象:
如果希望基于生成器生成列表,可以对
get_deck()
函数的结果调用list(..)
:您还可以在
get_deck
函数中构建一个列表,例如:相关问题 更多 >
编程相关推荐