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设计】。

相关文章

python增加图像对比度的方法

本代码实现的是,在旋转10度的基础上,再进行增加对比度的操作。 1 代码: 代码注释中的代码都是可以运行的.  但是不怎么靠谱,因为文件名被逐个编辑,有可能与原标签不对应,,更...

python清除指定目录内所有文件中script的方法

本文实例讲述了python清除指定目录内所有文件中script的方法。分享给大家供大家参考。具体如下: 将脚本存储为stripscripts.py 调用语法 : python stri...

python selenium实现发送带附件的邮件代码实例

这篇文章主要介绍了python selenium实现发送带附件的邮件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 163邮件...

Python实现获取照片拍摄日期并重命名的方法

Python实现获取照片拍摄日期并重命名的方法

本文实例讲述了Python实现获取照片拍摄日期并重命名的方法。分享给大家供大家参考,具体如下: python获取照片的拍摄日期并重命名。不支持重复处理的中断。 重命名为:拍摄日期__原文...

简单介绍利用TK在Python下进行GUI编程的教程

简单介绍利用TK在Python下进行GUI编程的教程

我想要向您介绍能想像到的开始 GUI 编程的最简单方法,就是使用 Scriptics 的 TK 和 Tkinter 封装器。我们将与 developerWorks 中的 “Python...