Korzystanie z Pythona Chcę wyjść nazwę listy z najbardziej elementami.

List1 [1,2,4,5,7,2]
List2 [1,4,5,6]
List3 [2,5,4,6,7,8,5,3,]
-1
Mr mac 21 luty 2019, 15:04

2 odpowiedzi

Najlepsza odpowiedź

Możesz użyć numpy:

import numpy as np

list1 = [1,2,4,5,7,6,5]
list2 = [1,4,5,6]
list3 = [2,5,4,6,7,8,5,3]

lists=[list1, list2, list3]
listsnames=["list1", "list2", "list3"]

most= listsnames[np.argmax([len(l) for l in lists])]
0
Rifat Alptekin Çetin 21 luty 2019, 12:36

Możesz połączyć listy do słownika list, a następnie, jak wspomniałeś Uruchom funkcję len przed każdym elementem wewnątrz wartości słownika (list), aby sprawdzić długości, a następnie znajdź największe przy użyciu {{x1 }} i zwracając klucz, jeśli długość pasuje do wartości.

Powiedzie również, czy listy mają tę samą długość:

list1 = [1,2,4,5,7,6,5]
list2 = [1,4,5,6]
list3 = [2,5,4,6,7,8,5,3]

list_dict = {}
list_dict['list1'] = list1
list_dict['list2'] = list2
list_dict['list3'] = list3

lengths = {key: len(x) for key, x in list_dict.items()}
longest = max(lengths.values())

for k, v in lengths.items():
  if v == longest:
    print(f'{k} is the longest list')



>>> list3 is the longest list
0
Nordle 21 luty 2019, 12:33