2024-04-26 21:26:05 发布
网友
例如,我有一个列表:
[[1,3],[23,4],[13,45,6],[8,3],[44,33,12]]
有没有什么有效的方法能让我最终得到下面的清单?你知道吗
[[1,3],[13,45,6]]
对于列表的每一个长度,只保留一个元素。你知道吗
然后总是有显式递归。。。你知道吗
>>> l = [[1,3],[23,4],[13,45,6],[8,3],[44,33,12]] >>> def f(x): ... if x == []: return [] ... else : return [x[0]] + f( filter(lambda m:len(m)!=len(x[0]),x) ) ... >>> f(l) [[1, 3], [13, 45, 6]]
s = set() [e for e in l if len(e) not in s and s.add(len(e)) is None]
只需在字典中键入长度并获取其值:
>>> l = [[1,3],[23,4],[13,45,6],[8,3],[44,33,12]] >>> dict((len(i), i) for i in l).values() [[8, 3], [44, 33, 12]]
然后总是有显式递归。。。你知道吗
s = set() [e for e in l if len(e) not in s and s.add(len(e)) is None]
只需在字典中键入长度并获取其值:
相关问题 更多 >
编程相关推荐