使用zip函数时使用列表理解创建包含单个元素的列表

2024-04-26 12:37:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试以特定的方式重新排列一个列表:

def shuffle(card_deck):
shuffled = list()
deck_size = len(card_deck) // 2

lhand_deck = card_deck[0: deck_size]
rhand_deck = card_deck[deck_size: deck_size*2]

for i, j in zip(lhand_deck, rhand_deck):
    shuffled.append(i); shuffled.append(j)

return shuffled

为了提高更大牌组的表现,我决定使用列表理解:

shuffled = [
    i
    for i in zip(lhand_deck, rhand_deck)
]

现在列表包含元组,但我希望它包含单个元素:

shuffled = [0, 2, 1, 3]

而不是

shuffled = [(0,2), (1, 3)]

*在这种情况下不起作用,因为它抛出错误。有没有什么方法可以解决这个问题,或者只能使用循环?谢谢你的帮助


Tags: in列表forsizedef方式zipcard