Форум сайта python.su
Потребовалось мне написать функцию нахождения максимальной длинны строки из списка строк. Другими словами имеем следующий список строк:
l = ['ab', 'bcd', 'cda', 'bababa', 'c']
def maxLen(myList):
maxi = 0
for item in myList:
if maxi < len(item):
maxi = len(item)
return maxi
def maxLen(myList):
return max(map(lambda x: len(x),myList))
Офлайн
pTreeПо-моему, в данном блоке кода само название функции наталкивает на то, что происходит… Вполне нормально с первого взгляда воспринимается.
коротко, лаконично, но с первого взгляда не поймешь что тут происходит.
Офлайн
возвращает строку максимальной длины.
max(myList, key=lambda item: len(item))
Офлайн
def max_len(myList):
return len(reduce(lambda x, y: len(x)<len(y) and y or x , myList))
Отредактировано (Ноя. 11, 2009 14:58:31)
Офлайн
max()
Офлайн
max(map(len, l))
Офлайн
truporezможно просто max(l, key=len)
возвращает строку максимальной длины.max(myList, key=lambda item: len(item))
Офлайн
Похоже что
max(l, key=len)
len(max(l, key=len))
Офлайн