我有兩個Python列表之間的致意:重新排序的Python兩個列表而不干擾列表
numbers=[11, 12, 13, 10, 14, 2, 3]
suits=['D', 'D', 'D', 'D', 'D', 'C', 'C']
這些列表是按照特定的順序,即,11 d推移和2變爲以C等
我正在嘗試編寫一個函數來重新排列這些列表的順序,而不會干擾讚美(即11位用D位)。該函數有一個參數來決定列表的排序方式。第一個應該從數字上按順序排列列表,從最高到最低,第二個應該按照套裝發生的次數排序,從列表中的最多到最少出現次數(因此在這個例子中有5個D和2個C,所以在這種情況下,他們已經按照正確的順序)。
該函數的結構粘貼在下面,但我正在努力與代碼的實際排序部分。有沒有人有任何建議如何做到這一點?
def order_cards(order_by=suit):
'''
order_by has two arguments, either suit or number
if suit: order by occurances of suit from largest to smallest
if number: order by decreasing number
'''
if order_by='number':
for i in range(len(numbers)): #Probably should iterate over the lists
#code for ordering cards
return ordered_cards
elif order_by='suit':
count=collections.Counter(suits) #This code count occurrences of suits
#code to order by number of suits
return ordered_cards
else:
return '{} is not \'suit\' or \'number\''.format(order_by)
? –
'zip'功能是你的朋友在這裏。 –
將它們壓縮成元組 –