繁体   English   中英

我只想获取其中包含 k 个元素的那些子集

[英]I want to get only those subset which have k elements in it

L=[1,2,3,4,5,6,7]
K=2

我想要的答案

L=[[1,2],[2,3],[3,4][4,5],[5,6],[6,7]]

在 ans 中不应该有没有 k 个元素的子集

您可以从 0 开始迭代一个数字到至少存在K个元素的最大数字,然后从所需索引开始和结束的项目中创建列表列表,您可以使用 List Comprehension 来完成此操作:

>>> [L[i:i+K] for i in range(len(L)-K+1)]

[[1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7]]

您可以使用列表理解

answer = [[L[j] for j in range(i, i + K)] for i in range(len(L) - K)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM