将字符串列表转换为字符串变量不会保留python中元素的顺序[duplicate]

ddrv8njm  于 2022-12-05  发布在  Python
关注(0)|答案(1)|浏览(112)

此问题在此处已有答案

How do I remove duplicates from a list, while preserving order?(30个答案)
4天前关闭。
机构群体在4天前审核了是否重新开放此问题,并将其关闭:
原始关闭原因未解决
我有一个类似["a", "b"]list of strings。当我把它转换成用", "分隔的字符串变量时,当我在本地机器上通过debuggingtox测试用例时,它工作得很好。一旦我在GitLab上提交代码,它就不能在管道中工作了。元素的顺序被颠倒了。有时它被保留,有时不被保留。
我使用下面的代码将其转换为字符串变量:

drop_account_names = ", ".join(drop for drop in set(to_drop))

当通过tox测试和调试测试时,我的本地机器上的输出是正确的,即'a', 'b'
但是,在Gitlab管道上,我有时会得到'b', 'a',为什么会这样呢?

yptwkmov

yptwkmov1#

set是无序的,所以每次得到的结果都不一样。

to_drop = ["a", "b", "a"]
to_drop = dict.fromkeys(to_drop)
drop_account_names = ", ".join(to_drop)
print(drop_account_names) # a, b

相关问题