这看起来有点奇怪!我做了一个程序,要求我从列表中删除重复的数字,并选择倒数第二个数字。我用set()来做。然而,我想到了一些意想不到的事情。
set([32.0,36.0,39.0,40.0])
的输出为[32.0,40.0,36.0,39.0]。我想知道为什么会这样。我使用python 3.9.1提前感谢
from collections import OrderedDict
list(OrderedDict.fromkeys([10,2,2,1,10,3,3]))
如果您使用的是Python 3.7或更高版本,则可以使用字典而不是集合。
>>> l = [32.0,36.0,39.0,40.0]
>>> l[:] = list(dict.fromkeys(l))
>>> l
[32.0, 36.0, 39.0, 40.0]
键将按照插入字典的顺序排序。