根据彼此排序两个列表,一个与日期(python)

时间:2014-09-17 15:07:48

标签: python sorting

好的,我对python很陌生,我希望你能帮我解决这个问题。

我有两个相互对应的列表。现在我想以同样的方式对它们进行排序。

我在电路板上找到了解决方案: Is it possible to sort two lists(which reference each other) in the exact same way?

我现在的问题是,我的一个列表是带日期的字符串。我想按时间顺序排序,但我无法想象如何使用关键参数进行探索。 这是我的代码:

daten = ["03. Aug 2012", "30. Jul 2012", "25. Jul 2012"]
werte = [10, 35, 22]
daten, werte = (list(t) for t in zip(*sorted(zip(daten, werte), key=lambda x: datetime.datetime.strptime(x[1], "%d. %b %Y"))))

现在我得到一个TypeError:必须是string,而不是int

1 个答案:

答案 0 :(得分:2)

您需要x[0]而不是x[1]

daten, werte = (list(t) for t in zip(*sorted(zip(daten, werte), key=lambda x : datetime.datetime.strptime(x[0], "%d. %b %Y"))))