2014-02-27 2 views
-4

Может ли кто-нибудь здесь обратиться к этому коду с примером, если это возможно, что делает этот код?Я хотел бы, чтобы кто-то помог мне понять несколько строк кода

def sort_by_length(words): 
    t = [] 
    for word in words: 
     t.append((len(word), word)) 
    t.sort(reverse=True) 

    res = [] 
    for length, word in t: 
     res.append(word) 
    return res 

и что смысл реверсе = True, что реверс я понимаю, что Len мужчин и добавить метод, но вернуться, но то, что он Мента на обратный

+0

Лучше сказать другим то, что вы уже знаете – zhangxaochen

+0

Что говорит вам название функции? Прочтите код как простой английский язык. – karthikr

+0

Обратитесь к документации Python. – chepner

ответ

0

Это возвращает список слов, отсортированных наиболее длинноволновое к-кратчайший, чем z-to-a.

Вы могли бы сделать то же самое, только с

def sort_by_length(words): 
    return sorted(words, key=lambda w: (len(w), w), reverse=True) 

Это может иметь больше смысла сортировать длинные к самому короткому, а-к-г, который будет

def sort_by_length(words): 
    return sorted(words, key=lambda w: (-len(w), w)) 
0
def sort_by_length(words): 
t = [] # empty list 
for word in words:# iterating over given words 
    t.append((len(word), word)) # appending a word into the list "t" as tupel. e.g word "hello" as (5, "hello") 
t.sort(reverse=True) # sorts all tupels in reverse-order 

res = [] 
for length, word in t: 
    res.append(word) # extracts just the words out of the tupels e.g. (5, "hello") => "hello" 
return res # return words ordered 
Смежные вопросы