- 已关闭**。此问题需要超过focused。当前不接受答案。
- 想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。
昨天关门了。
Improve this question
我有个任务需要你的帮助如何打印出给定列表中所有只包含正数的集合(按顺序)并选择其中元素最多的集合?
例如:x1月1x
输出:[3,4,7], [2,3,4,9], [4]
#只包含正数的所有集合[2,3,4,9]
#集合中元素最多,如果两个以上集合大小相同,则打印所有集合
我知道如何打印出其中包含最多元素的集合,但当涉及到多个元素时,代码只打印出最后一个集合。
4条答案
按热度按时间ghhaqwfi1#
您需要构造一个集合列表,并在此过程中跟踪最长集合的长度。
rwqw0loc2#
输出:
我使用
itertools.groupby
来获得正的部分,然后它只是一个简单的过滤,过滤到最长的部分,我在分组迭代中设置了值。我还在输入数据的末尾添加了另一个部分,这样你就可以看到当有多个相同长度的部分时输出的样子,它是一个列表的列表。6g8kf2rb3#
正如评论中提到的。你想在列表
1.通过使用迭代工具.分组比()
dojqjjoe4#
感谢@Andrey_Kesely、@Fred@Yash_Mehta和@luk2302,特别是卢克,我已经尝试使用itertools. groupby来解决这个问题:
下面是我修改过的@Andrey_Kesely代码: