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实现输入数字的连续加减方法
不用库,写了很久,一直出bug,到网上一搜,可以直接输入之后,eval(str)即可得到结果! eval程序如下: s=input("请输入要运算的数字") print("The result is{}".format(eval(s))) 下面是不用eval实现加减的代码:主要思想就是通过一个标志位flag来计算是否进行加减,其他的都很好理解 s=input("请输入要运算的数字") l=len(s) h=0 i=0 flag=1 a=0 for
-
python中计算一个列表中连续相同的元素个数方法
最简单的例子: a = [1,1,1,1,2,2,2,3,3,1,1,1,3] # 问:计算a中最多有几个连续的1 很明显,答案是4 如果用代码实现,最先想到的就是itertools: import itertools a = [1,1,1,1,2,2,2,3,3,1,1,1,3] print max([len(list(v)) for k,v in itertools.groupby(a)]) 但是如果不想用itertools呢? 可以尝试以下的办法,效率还比itertools高一个数量级!
-
Python中列表元素转为数字的方法分析
本文实例讲述了Python中列表元素转为数字的方法.分享给大家供大家参考,具体如下: 有一个数字字符的列表: numbers = ['1', '5', '10', '8'] 想要把每个元素转换为数字: numbers = [1, 5, 10, 8] 用一个循环来解决: new_numbers = []; for n in numbers: new_numbers.append(int(n)); numbers = new_numbers; 有没有更简单的语句可以做到呢? 1. numbers =
-
python中多层嵌套列表的拆分方法
场景:有一个多层嵌套的列表如:[[23],[3,3],[22,22],1,123,[[123,a],2]] 拆分成: def splitlist(list): ''' 现有一个列表,里面元素包括 数字,字母,列表,字典等元素,现在要将字典去掉,并将列表 分解成字母,或数字元素如:[[1,2,3],2,3,[1,3,[12,22]],'a',12] 经函数处理后[1, 2, 3, 2, 3, 1, 3, 12, 22, 'a', 12] ''' alist = [] a = 0 for subli
-
Python实现统计给定列表中指定数字出现次数的方法
本文实例讲述了Python实现统计给定列表中指定数字出现次数的方法.分享给大家供大家参考,具体如下: 直接看实现: #!usr/bin/env python #encoding:utf-8 ''''' __Author__:沂水寒城 功能:给定一个列表计数指定数字出现的所有次数 ''' def count_num_func(num_list,num): ''''' 计数指定数字 ''' split_list=[] for one in num_list: split_list+=list(str
-
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)) + '-' + st
-
Python划分数组为连续数字集合的练习
目录 1.问题描述 2.解决方案 3.结语 本文转自微信公众号:"算法与编程之美" 1.问题描述 给你一个整数数组 nums 和一个正整数 k,请你判断是否可以把这个数组划分成一些由 k 个连续数字组成的集合. 如果可以,请返回 True:否则,返回 False. 示例 1: 输入:nums = [1,2,3,3,4,4,5,6], k = 4 输出:true 解释:数组可以分成 [1,2,3,4] 和 [3,4,5,6]. 示例 2: 输入:nums = [3,2,1,2,3,4,3
-
python判断字符串是否纯数字的方法
本文实例讲述了python判断字符串是否纯数字的方法.分享给大家供大家参考.具体如下: 判断的代码如下,通过异常判断不能区分前面带正负号的区别,正则表达式可以根据自己需要比较灵活的写,通过isdigit方法用来判断是否是纯数字,测试代码如下 复制代码 代码如下: #!/usr/bin/python # -*- coding: utf-8 -*- a = "1" b = "1.2" c = "a" #通过抛出异常 def is_num_by_exc
-
python判断all函数输出结果是否为true的方法
我们们都学会判断真假,根据条件的不同,最终输出的结果可能为真,可能为假.在python的函数中,也有一个内置函数需要进行条件判断,那么在什么样的情况下,我们才能确保它输出的结果是true呢?今天就all函数的判断,我们进行简单的代码体验,然后分析在不同条件下,all函数的输出情况. 内置函数all 接收一个可迭代对象,如果其中所有的元素都是True,或者该可迭代对象中没有元素,返回True 等价于 def all(iterable): for element in iterable: if no
-
python判断给定的字符串是否是有效日期的方法
本文实例讲述了python判断给定的字符串是否是有效日期的方法.分享给大家供大家参考.具体分析如下: 这里python判断给定的字符串是否是一个有效的日期,如果是一个日期格式的字符串,该函数返回True,否则返回False def is_valid_date(str): '''判断是否是一个有效的日期字符串''' try: time.strptime(str, "%Y-%m-%d") return True except: return False 希望本文所述对大家的Python程序
-
python判断图片宽度和高度后删除图片的方法
本文实例讲述了python判断图片宽度和高度后删除图片的方法.分享给大家供大家参考.具体分析如下: Image对象有open方法却没有close方法,如果打开图片,判断图片高度和宽度,判断完成后希望删除或者给图片改名,是无法操作的,这段代码可以解决这个问题,注意open函数打开图片文件要使用二进制方式,及参数使用'rb',有的文章给出的只有个'r'参数,Image是无法open的 import os import Image fileName = 'c:/py/jb51.jpg' fp = op
-
python实现列表中由数值查到索引的方法
如下所示: 以上这篇python实现列表中由数值查到索引的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
python 判断矩阵中每行非零个数的方法
如下所示: # -*- coding: utf-8 -*- # @Time : 2018/5/17 15:05 # @Author : Sizer # @Site : # @File : test.py # @Software: PyCharm import time import numpy as np # data = np.array([ # [5.0, 3.0, 4.0, 4.0, 0.0], # [3.0, 1.0, 2.0, 3.0, 3.0], # [4.0, 3.0, 4.0,
-
Python 从列表中取值和取索引的方法
如下所示: name_list["zhangsan","lisi","wangwu"] #1.取值 print(name_list[0]) print(name_list[1]) print(name_list[2]) #2.取索引 print(name_list.index("lisi")) #3.修改 name_list[1]="李四" #4.增加数据 name_list.append("王小
随机推荐
- js从数组中删除指定值(不是指定位置)的元素实现代码
- Extjs优化(二)Form表单提交通用实现
- Apache Commons Math3探索之多项式曲线拟合实现代码
- java 求解二维数组列最小值
- window.opener用法和用途实例介绍
- PHP 页面编码声明方法详解(header或meta)
- 发布一个用PHP fsockopen写的HTTP下载的类
- php 操作excel文件的方法小结
- php下载文件源代码(强制任意文件格式下载)
- 在命令行下运行PHP脚本[带参数]的方法
- mysql 数据库中my.ini的优化 2G内存针对站多 抗压型的设置
- Mysql 的存储引擎,myisam和innodb的区别
- C/C++ 双链表之逆序的实例详解
- 微信小程序组件 marquee实例详解
- 让电脑右下角显示你想要文字
- dedecms系统常用术语汇总
- python 2.7.14安装图文教程
- Django项目实战之用户头像上传与访问的示例
- Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
- vue+element实现批量删除功能的示例