Ich versuche, alle möglichen Kombinationen von Poker-Karten zu erstellen. Also, ich lief:Erstellen Sie alle möglichen Karten mit itertools und zip
import itertools as it
ranks = (2,3,4,5,6,7,8,9,10,'Jack','Queen','King','Ace')
suits = ('Spades', 'Clubs', 'Hearts', 'Diamonds')
for i in zip(ranks, it.repeat(suits, 14)):
print(i)
Und bekam:
(2, ('Spades', 'Clubs', 'Hearts', 'Diamonds'))
(3, ('Spades', 'Clubs', 'Hearts', 'Diamonds'))
(4, ('Spades', 'Clubs', 'Hearts', 'Diamonds'))
(5, ('Spades', 'Clubs', 'Hearts', 'Diamonds'))
(6, ('Spades', 'Clubs', 'Hearts', 'Diamonds'))
(7, ('Spades', 'Clubs', 'Hearts', 'Diamonds'))
(8, ('Spades', 'Clubs', 'Hearts', 'Diamonds'))
(9, ('Spades', 'Clubs', 'Hearts', 'Diamonds'))
(10, ('Spades', 'Clubs', 'Hearts', 'Diamonds'))
('Jack', ('Spades', 'Clubs', 'Hearts', 'Diamonds'))
('Queen', ('Spades', 'Clubs', 'Hearts', 'Diamonds'))
('King', ('Spades', 'Clubs', 'Hearts', 'Diamonds'))
('Ace', ('Spades', 'Clubs', 'Hearts', 'Diamonds'))
Was wäre ein effizienter Weg sein ['2 of Spades', '2 of Clubs', '2 of Hearts', ...]
aus dieser Liste von Tupeln zu bekommen?
Meine aktuelle Methode ist:
cards = []
for card in zip(ranks, it.repeat(suits, 14)):
rank, suits = card
for suit in suits:
cards.append("{} of {}".format(rank, suit))
Gibt es einen besseren Weg, dies zu tun? Was ist es?
'it.product (Anzüge, Ränge)'? – jonrsharpe
@jonrsharpe Danke! – rassar
@rassar aber das ist nicht effizienter als dein Weg ... –