-2

我觉得我离答案很近,但是在尝试了在这个网站上针对类似问题提出的各种方法之后,我离答案并不近。

我已经在实际作业中标记了我从这里借来的内容(所以我不会不小心窃取代码),但在此处将其删除以使其更易于阅读。我要做的是保留我的三个功能(即接受输入,删除冒号,然后从列表中打印一个排序表,即:

"输入您下次约会的时间(如 hh:mm):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:])))) 

我希望表格按约会的“时间”进行排序,而不仅仅是按我输入的顺序。有没有人可以帮助我?

4

2 回答 2

0

尝试这个:

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

注意 alpha 没有改变。 sorted返回一个新列表,该列表立即被丢弃。如果要就地排序,请执行

alpha.sort()
于 2013-10-26T00:30:07.513 回答
0

我认为用sorted(alpha)以下内容替换应该可行:

alpha = sorted(alpha, key=lambda x: (x[0]))
于 2013-10-26T00:24:40.853 回答