【python】找出一个列表中的连续数字和非连续数字--最简解法
使用python找出一个列表中的连续数字和非连续数字,个人认为最简解法
from itertools import groupby
lst = [1,2,3,4,5,6,7, 8, 11, 12, 13, 19,23] # 连续数字
fun = lambda x: x[1]-x[0]
for k, g in groupby(enumerate(lst), fun):
# print(g)
# for a in g:
# print(k)
# print(a)
l1 = [j for i, j in g] # 连续数字的列表
print(l1)
if len(l1) > 1:
scop = str(min(l1)) + '-' + str(max(l1)) # 将连续数字范围用"-"连接
else:
scop = l1[0]
print("连续数字范围:{}".format(scop))
【python】找出一个列表中的连续数字和非连续数字--最简解法
https://www.diaoyc.cn//archives/%E4%BD%BF%E7%94%A8python%E6%89%BE%E5%87%BA%E5%88%97%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%BF%9E%E7%BB%AD%E6%95%B0%E5%AD%97%E5%92%8C%E9%9D%9E%E8%BF%9E%E7%BB%AD%E6%95%B0%E5%AD%97