Вы не совсем ясно, что вы хотите, поэтому некоторые альтернативы. Учитывая следующие два списка:
a = [1,2,3,4,5,6,7,8,9,10]
b = [1,2,3,4,5,6,7,8]
Чтобы распечатать кратчайший список, вы можете просто сделать ..
>>> print(min(a, b))
[1, 2, 3, 4, 5, 6, 7, 8]
Чтобы получить самую короткую длину в виде числа, вы можете либо min
len()
каждого списка, либо сделать len(min())
(оба идентичных, выберите, какой из них вы найдете наиболее читабельным) ..
>>> print(min( len(a), len(b) ))
# or..
>>> print(len( min(a, b) ))
8
Чтобы напечатать самое низкое значение в любом списке, вы можете предоставить список в качестве единственного аргумента для min()
>>> a.extend(b) # Appends b to a
>>> print a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8]
>>> print(min(a))
1
Наконец, еще одна возможность, список, который имеет наименьшие значения в сумме:
>>> max( sum(a), sum(b) )
55
Чтобы напечатать фактический список с наибольшим sum()
, вы можете использовать троичный оператор, например ..
>>> print a if sum(a) > sum(b) else b
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
.. хотя мне это никогда не нравилось (или не использовало), вместо этого я использовал более длинные, регулярные выражения if / else ..
>>> if sum(a) > sum(b):
... print a
... else:
... print b
...
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]