美文网首页
如何解决python的list转换为set时自动排序的问题

如何解决python的list转换为set时自动排序的问题

作者: 金融测试民工 | 来源:发表于2020-03-09 11:16 被阅读0次

    相信很多童鞋都是使用list转换为set达到去掉重复元素的目的,但是打印时会发现,直接将list转换为set去重后的结果,不是我们想要的,因为set会自动排序。

    于是google了一把,发现set确实没有直接的办法阻止其排序,但是有另外一个解决方法,就是使用collections.OrderedDict。具体做法是将list转换为collections.OrderedDict,然后读取器key,返回的就是我们需要的list。

>>> list = ['a','d','d','b']

>>> list

['a', 'd', 'd', 'b']

>>> set(list)

set(['a', 'b', 'd'])

>>> frozenset(list)

frozenset(['a', 'b', 'd'])


>>> import collections

>>> collections.OrderedDict.fromkeys(list)

OrderedDict([('a', None), ('d', None), ('b', None)])

>>> collections.OrderedDict.fromkeys(list).keys()

['a', 'd', 'b']

相关文章

网友评论

      本文标题:如何解决python的list转换为set时自动排序的问题

      本文链接:https://www.haomeiwen.com/subject/keeudhtx.html