Допустим, у меня есть несколько списков:Сравнение Размеры нескольких списков
A = [1]
B = [3, 2]
C = [5, 1, 6]
D = [7, 4, 18]
Я хочу, чтобы сравнить длину списков и выход длинный список из 4-х списков. Таким образом, в этом случае результат будет:
A, D contain the longest list(s).
Я думал сравнивая их один за другим, но это будет довольно беспокойным и неэффективно впечатать. Есть ли способ сделать это с помощью пользовательской функции?
Я еще совсем новичок в Python, и я собираюсь мозг мертв ...
def fishing():
global target_counter
target_counter = pHands_new[target].count(target_rank)
global card_counter
if target_counter >0:
for i in range(target_counter):
pHands_new[target].remove(target_rank)
for i in range(target_counter):
pHands_new[N].append(target_rank)
print "*"*70
print "HIT:", target_counter, "card(s) transferred"
print "*"*70
card_counter = pHands_new[N].count(target_rank)
if card_counter ==4:
for i in range(card_counter):
pHands_new[N].remove(target_rank)
pBooks(N)
else:
draw = GetTopCard(sDeck_new)
if draw == target_rank:
pHands_new[N].append(draw)
print "HIT: LUCKILY, You fished up the rank <"+draw+">"
card_counter = pHands_new[N].count(draw)
if card_counter ==4:
for i in range(card_counter):
pHands_new[N].remove(draw)
pBooks(N)
elif draw != target_rank:
pHands_new[N].append(draw)
print "MISS: You fished up the rank <"+draw+">"
card_counter = pHands_new[N].count(draw)
if card_counter ==4:
for i in range(card_counter):
pHands_new[N].remove(draw)
pBooks(N)
def pBooks(player):
books[player].append(target_rank)
Примечания:
-pHands_new является вложенным списком, есть 4 списков в пределах pHands_new
-N является текущим игроком
-target_rank является визитной карточкой, которая ориентирована на другой игрок
-Books - еще один вложенный список. Когда игрок имеет 4 одинаковой карты/ранга, он удаляется из руки игроков и помещается в книги.
Списков я сравниваю здесь книги [0] .... книга [3]
Моей программа генерирует 4 списков, содержащих случайную количество элементов. Когда я использую этот код, он не сравнивает их правильно и выводит неверный самый длинный список (когда два списка имеют одинаковую длину, он выводит эти два списка, хотя может быть и другой, который длиннее) – Gaze
@Gaze, Could вы показываете пример? – falsetru
@Gaze, я добавил пример (код такой же, изменяется только переменная списка). В соответствии с этим вам не о чем беспокоиться. – falsetru