python判断列表的连续数字范围并分块的方法

yipeiwu_com6年前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判断列表的连续数字范围并分块的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Django使用中间键实现csrf认证详解

Django中的csrf认证实现的原理 调用 process_view 方法 检查视图是否被 @csrf_exempt (免除csrf认证) - 去请求体或cookie中获取toke...

python实现定时压缩指定文件夹发送邮件

工作中每天需要收集部门内的FR文件,发送给外部部门的同事帮忙上传,这么发了有大半年,昨天亮光一闪,为什么不做成自动化呢,于是用python实现了整个流程,今天体验了一下真是美滋滋。 代码...

Django分页功能的实现代码详解

Django分页功能的实现代码详解

Django分页功能的实现 打开命令行窗口,创建Django工程,使用以下命令: django-admin startproject djpage cd djpage python ma...

python学习之matplotlib绘制散点图实例

python学习之matplotlib绘制散点图实例

要绘制单个点,可使用函数scatter(),并向其传递一对x和y坐标,它将在指定位置绘制一个点: """使用scatter()绘制散点图""" import matplotlib.p...

Python中sort和sorted函数代码解析

本文研究的主要是Python中sort和sorted函数的相关内容,具体如下。 一、sort函数 sort函数是序列的内部函数 函数原型: L.sort(cmp=None, key=No...