Python Set()更改列表的顺序

Python Set()更改列表的顺序,python,Python,我有几个列表,其中日期以字符串形式书写,格式为“2017-05-22 04:35:00”。所有列表都已排序。我想创建一个新列表,其中包含所有其他列表中存在的日期 我一直在使用以下代码: new_dates = list(set(a)&set(b)&set(c)&set(d)) 显然,它正在工作,但结果列表不再按时间顺序排列。知道为什么会发生这种情况吗?完成后,只需将它们转换回有序列表即可: new_dates = sorted(set(a) & set(b) &

我有几个列表,其中日期以字符串形式书写,格式为“2017-05-22 04:35:00”。所有列表都已排序。我想创建一个新列表,其中包含所有其他列表中存在的日期

我一直在使用以下代码:

new_dates = list(set(a)&set(b)&set(c)&set(d))

显然,它正在工作,但结果列表不再按时间顺序排列。知道为什么会发生这种情况吗?

完成后,只需将它们转换回有序列表即可:

new_dates = sorted(set(a) & set(b) & set(c) & set(d))

集合是散列表,因此通常是无序的。集合是“不同散列对象的无序集合”