Если ваши карты вложены в громоздким образом:
>>> Cards = [[["QS","5H","AS"],["2H","8H"],["7C"]],[["9H","5C"],["JH"]],["7D"]]
>>> def getCards(cardList,myCards=[]): #change this to myCards, and pass in a list to mutate this is just for demo
if isinstance(cardList,list):
for subList in cardList:
getCards(subList)
else:
myCards.append(cardList)
return myCards
>>> getCards(Cards)
['QS', '5H', 'AS', '2H', '8H', '7C', '9H', '5C', 'JH', '7D']
Будет recursivly пройти через список и найти все элементы. Вот некоторые timeings я запускать сравнение производительности выбранного flattern
метода шахту:
>>> print(timeit.timeit(r'getCards([[["QS","5H","AS"],["2H","8H"],["7C"]],[["9H","5C"],["JH"]],["7D"]],[])',setup="from clas import getCards"))
5.24880099297
>>> timeit.timeit(r'flatten([[["QS","5H","AS"],["2H","8H"],["7C"]],[["9H","5C"],["JH"]],["7D"]])',setup="from compiler.ast import flatten")
7.010887145996094
Я отредактировал ваш код, чтобы добавить дополнительный '' ', поскольку он отсутствует. Почему вы отредактировали это редактирование? –
Вам понадобится рекурсия для достижения того, что вы хотите чистым способом. – Maresh
У вас есть все карты на –