所以,我有一个清单如下
potential_labels = ['foo', 'foo::bar', 'foo::bar::baz', "abc", "abc::cde::def", "bleh"]
desired_output = ['foo::bar::baz', "abc::cde::def", "bleh"]
这是因为。。对于根“foo”,“foo::bar::baz”是最长的序列 对于“abc”,“abc::cde::def”,对于“bleh”,它是“bleh”
有没有python内置函数来完成这个。。我觉得在itertools中几乎有些东西可以做到这一点,但似乎无法解决这个问题。在
您可以利用以下条件进行简单的列表理解:
选项1
max
+groupby
应该这样做。在选项2
^{pr2}$一个更简单的解决方案包括
collections.OrderedDict
:不完全是一条直线,但什么是Python毕竟是主观的。在
相关问题 更多 >
编程相关推荐