好的,我是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:必须是字符串,而不是int

最佳答案

您需要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"))))

关于python - 根据彼此排序两个列表,一个带有日期(python),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25894201/

10-13 07:37