我有一些数据列表,例如什么是pythononic切片集的方式?
some_data = [1, 2, 4, 1, 6, 23, 3, 56, 6, 2, 3, 5, 6, 32, 2, 12, 5, 3, 2]
,我想用固定长度(我不在乎,我会得到)独特的价值观,我也希望它是set
对象。
我知道我能做到set
从some_data
然后使它list
,裁剪,然后使其再次set
。
set(list(set(some_data))[:5]) # don't look so friendly
我明白,我没有在set
__getitem__
方法,该方法不会使整个片的事情可能,但如果有一个机会,使它看起来更好?
我完全明白set
是无序的。因此,最终set
将获得哪些元素无关紧要。
可能的选项是使用:
- ordered-set
使用
dict
与None
值:set(dict(map(lambda x: (x, None), some_data)).keys()[:2]) # not that great
什么是这样做的目的是什么? – jprockbelly
从大的数据列表中获取具有固定长度的'set'对象的目的。然后使用这个集合(检查值是否在'set'中)。 –