首页 > 解决方案 > Python交集出现顺序不一致

问题描述

我正在尝试以与它们在其中出现的顺序相同的顺序获取字符串的日期时间分隔符列表。

假设我有以下日期时间:2015-03-25 12:22:21; 我打算从中获得的输出set().intersection是这样的列表:['-', ' ']

问题是它反过来了。似乎是随机的。看看以下输出:

[IN]: list(set('/|.-T ').intersection('2015-03-25 12:22:21'))
[OUT]: [' ', '-']

现在,这个是正确的:

[IN]: list(set('/|.-T ').intersection('2015-03-25T12:22:21'))`
[OUT]: ['-', 'T']

为什么第一个与空间相反?我如何才能获得一致的订单?

标签: python

解决方案


set不维护顺序,必须通过循环来实现

output = []
for i in '2015-03-25 12:22:21':
    if i not in output and i in '/|.-T ']:
        output.append(i)

输出:

['-', ' ']

推荐阅读