2013-10-26 2 views
-2

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

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

«Введите время для следующего назначения (как hh : мм): 17:30
Введите краткое описание: COSC1306

Назначение 17:30 COSC 1306"

Это то, что у меня есть:

alpha = [] 
while len(alpha) >= 0: 
    gamma = input("Enter time for your next appointment (as hh:mm): ") 
    (h, m) = gamma.split(':') 
    result = str(h) + str(m) 
    delta = input("Enter a short description: ") 
    alpha.append([result, delta]) 
    sorted(alpha) 
    for table in alpha: 
     print("Appointment at %s %s" %(table[0],", ".join(map(str,table[1:])))) 

Я хочу, чтобы таблица была отсортирована по тому, что «время» назначено, а не только в том порядке, в котором я его набрал. Есть ли кто-нибудь, кто мог бы мне помочь?

+0

Хорошо, я попытался немного исправить это. Я очистил его до здесь: 'alpha = [] while len (alpha)> = 0: gamma = input (" Введите время для следующего назначения (как hh: mm): ") delta = input («Введите краткое описание:») alpha.append ([gamma, delta]) sorted.alpha [0] ' , но распечатать его в формате таблицы не удалось, так как я отсортировал его, так что я интересно, если это код, который мне нужно пересмотреть ... Извините за все hullabaloo вы, ребята. Я ненавижу себя за то, что являюсь воплощением newb .. – Moonkat09

ответ

0

Я думаю, что замена sorted(alpha) со следующими должны работать:

alpha = sorted(alpha, key=lambda x: (x[0])) 
+0

Списки кортежей/списков уже отсортированы первым участником. – roippi

+0

Правильно, поэтому либо 'alpha.sort()', как вы упомянули, или 'alpha = sorted (alpha)' будет работать. – Furbeenator

0

Попробуйте это:

print(alpha) 
sorted(alpha) 
print(alpha) 

Обратите внимание, что альфа не изменяется. sorted возвращает НОВЫЙ список, который немедленно отбрасывается. Если вы хотите сортировать на месте, сделайте

alpha.sort() 
Смежные вопросы