Самый эффективный способ Python выбрать самую длинную строку в списке?

Добавьте

[suppressRowClickSelection]="true"

к вашим параметрам сетки

Вы можете узнать больше об этом здесь

219
задан Neuron 16 November 2019 в 01:22
поделиться

4 ответа

Из самой документации Python вы можете использовать max :

>>> mylist = ['123','123456','1234']
>>> print max(mylist, key=len)
123456
558
ответ дан 23 November 2019 в 04:08
поделиться

Что должно произойти, если существует более одной самой длинной строки (например, «12» и «01»)?

Попробуйте это, чтобы получить самый длинный элемент

max_length,longest_element = max([(len(x),x) for x in ('a','b','aa')])

А затем обычный foreach

for st in mylist:
    if len(st)==max_length:...
5
ответ дан 23 November 2019 в 04:08
поделиться

Чтобы получить самый маленький или самый большой элемент в списке, используйте встроенные min и макс. функции:

 lo = min (L)
hi = max (L) Как и в случае с sort (см. ниже), вы можете передать ключевую функцию

, который используется для сопоставления элементов списка перед их сравнением:

 lo = min (L, key = int)
привет = макс (L, ключ = int)

http://effbot.org/zone/python-list.htm

Похоже, вы могли бы использовать функцию max, если вы правильно сопоставили ее со строками и использовали ее для сравнения. Я бы порекомендовал просто найти максимум один раз, хотя, конечно, не для каждого элемента в списке.

3
ответ дан 23 November 2019 в 04:08
поделиться

len (each) == max (len (x) for x in myList) или просто each == max (myList, key = len)

1
ответ дан 23 November 2019 в 04:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: