标签:end Python range start itertools 模块 step subsequence
Python 当中的 itertools 模块的存在感一直不高,可能是大家真正用到的时候并不多。然而,最近它却成功引起了我的注意,它在时大放异彩,所以,不妨再来学一学,不求别的,只求在解决问题的过程当中至少能成功想到它一次。
itertools.combinations
求列表的 k 阶子列
import itertools
input_list = [1, 2, 4, 3, 5]
n = len(input_list)
k = 3
for i in range(1, n + 1):
i_subsequence = itertools.combinations(input_list, i)
if i == k:
k_subsequence = list(i_subsequence)
print(k_subsequence)
[(1, 2, 4), (1, 2, 3), (1, 2, 5), (1, 4, 3), (1, 4, 5), (1, 3, 5), (2, 4, 3), (2, 4, 5), (2, 3, 5), (4, 3, 5)]
itertools.count
创建一个自定义步长的无限迭代器 —— 不主动 break 的话,停不下来。(这块感觉和 range 的功能差不多,只不过一般用 range 的时候都是生成一个有限的迭代器)
import itertools
start = 2
step = 3
end = 11
for i in itertools.count(start, step):
print(i)
if i == end:
break
start = 2
step = 3
end = 11
for i in range(start, end + 1, step):
print(i)
2
5
8
11
标签:end,Python,range,start,itertools,模块,step,subsequence 来源: https://blog.csdn.net/TomorrowAndTuture/article/details/121301670
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。