这篇文章给大家分享的是有关python如何判断列表的连续数字范围并分块的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
情况一:列表中的数字是连续数字(从小到大)
from itertools import groupby
lst = [1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 19] # 连续数字
fun = lambda x: x[1]-x[0]
for k, g in groupby(enumerate(lst), fun):
l1 = [j for i, j in g] # 连续数字的列表
if len(l1) > 1:
scop = str(min(l1)) + '-' + str(max(l1)) # 将连续数字范围用"-"连接
else:
scop = l1[0]
print("连续数字范围:{}".format(scop))
情况二:列表中的数字是非连续数字,需将列表中的数据排序
# 冒泡排序(从小到大)
lst = [4, 2, 1, 5, 6, 7, 8, 11, 12, 13, 19]
for i in range(len(lst)):
j = i+1
for j in range(len(lst)):
if lst[i] < lst[j]:
x = lst[i]
lst[i] = lst[j]
lst[j] = x
print("排序后列表:{}".format(lst))
Python的优点有哪些
1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码格式的要求没有那么严格;2、Python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3、Python面向对象,能够支持面向过程编程,也支持面向对象编程;4、Python是一种解释性语言,Python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5、Python功能强大,拥有的模块众多,基本能够实现所有的常见功能。
感谢各位的阅读!关于“python如何判断列表的连续数字范围并分块”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!