首页 > 编程语言 >python 如何将不完全连续的整数序列按[1-5,6,8-10]的格式输出,给出函数代码

python 如何将不完全连续的整数序列按[1-5,6,8-10]的格式输出,给出函数代码

时间:2023-09-19 11:03:25浏览次数:37  
标签:10 end seq python formatted start lst num 格式

python 如何将不完全连续的整数序列按[1-5,6,8-10]的格式输出,给出函数代码

def format_integer_sequence(seq):
    formatted_seq = []
    start = None
    end = None

    for num in sorted(seq):
        if start is None:
            start = num
            end = num
        elif num == end + 1:
            end = num
        else:
            if start == end:
                formatted_seq.append(str(start))
            else:
                formatted_seq.append(f"{start}-{end}")
            start = num
            end = num

    if start is not None:
        if start == end:
            formatted_seq.append(str(start))
        else:
            formatted_seq.append(f"{start}-{end}")

    formatted_output = ",".join(formatted_seq)
    return formatted_output

# 测试函数
sequence = [1, 2, 3, 5, 6, 8, 9, 10]
formatted_result = format_integer_sequence(sequence)
print(formatted_result)
def format_list(lst):
    res = []
    i = 0
    while i < len(lst):
        if i == len(lst) - 1 or lst[i + 1] != lst[i] + 1:
            res.append(str(lst[i]))
        else:
            j = i
            while j < len(lst) - 1 and lst[j + 1] == lst[j] + 1:
                j += 1
            res.append(str(lst[i]) + '-' + str(lst[j]))
            i = j
        i += 1
    return ','.join(res)

lst = [1,2,3,5,6,8,9,10]
print(format_list(lst))
Instance.df.机台.reset_index().pivot_table(
    index=['机台'], 
    values=['index'], 
    aggfunc=format_integer_sequence
)

标签:10,end,seq,python,formatted,start,lst,num,格式
From: https://blog.51cto.com/u_16055028/7523324

相关文章

  • Linux上python安装apex
    直接pipinstallapex即可以下是过时、错误的帖子:https://blog.csdn.net/weixin_44917271/article/details/116382959https://blog.csdn.net/mrjkzhangma/article/details/100704397https://www.cnblogs.com/peixu/p/14614013.html若出现运行时出错(我自己装了2次第一次没错,第......
  • [完结22章]Python多领域场景实战课 快速成为多面手
    点击下载——[完结22章]Python多领域场景实战课快速成为多面手  提取码:ith6Python多领域场景实战课快速成为多面手2023,完结22章,理论+实战相结合,融合5大领域(如办公自动化、数据分析、爬虫、人工智能、Web开发)Python多领域场景实战课快速成为多面手,Python是一种动态的、高级......
  • 使用CreateFile()打开COM10及以上串行口
    Win32API函数CreateFile()除了可打开普通文件外,还可以打开设备,比如可用于打开串口,获得串口句柄。使用CreateFile()函数打开串口时文件共享模式应设置为0(表示独占),创建参数设置为OPEN_EXISTING,模板必须设置为NULL。如果为COM1至COM9,可使用“COM1”-“COM9”作为文件名传递给Creat......
  • IPQ5018 VS IPQ6010 VS IPQ9574|Advancing Wireless Connectivity: The Power of Wi-F
    IPQ5018VSIPQ6010VSIPQ9574|AdvancingWirelessConnectivity:ThePowerofWi-Fi6&Wi-Fi 7Intheever-evolvinglandscapeofwirelessnetworking,twogame-changershaveemerged,promisingtoredefineourconnectivityexperience:Wi-Fi6andWi-Fi7.......
  • 如何显示并管理Python应用的数据?Kendo UI for Angular有妙招!
    Angular是Python应用中进行数据管理和显示的一个很好的选择,如果能使用KendoUIforAngular则可以更进一步。PS:给大家推荐一个实用组件~KendoUIforAngular是专业级的AngularUI组件库,不仅是将其他供应商提供的现有组件封装起来,telerik致力于提供纯粹高性能的AngularUI组件,而......
  • python基础(未完)
    前言:近几日在学习sql注入时发现需要使用python编写脚本,故来学习一下python参考:菜鸟教程1.1python的编码python3源码文件以utf-8编码,所有字符串都是unicode,也可以使用别的编码方式,比如#-*-codeing:cp-1252-*-1.2标识符与保留字python的标识符和保留字>>>importkeyw......
  • 将vcf文件转成孟德尔随机化分析格式
    以https://gwas.mrcieu.ac.uk/datasets/ukb-b-7330/为例:原始文件形如:转换代码library(vcfR)getwd()a_data=read.vcfR('../ukb-b-7330.vcf.gz')str(a_data)head(a_data$meta,12)head(a_data@fix)head(a_data@gt)fix=as.data.frame(a_data@fix[,(1:5)])gt=as......
  • 10年开发经验的程序员的自我介绍
       大家好,我是曾树敏。非常高兴有机会向大家介绍一下自己。我是一名有着10年IT行业工作经验的程序员。在过去的10年中,我一直致力于不断学习和提升自己的技术能力。我熟练掌握多种编程语言,如Java、Python和C++,以及常用的开发框架和工具。我能够快速分析问题并提供高效的解决......
  • ipaddress:Python中网络地址的处理
    前言ipaddress库提供了处理IPv4与IPv6网络地址的类。这些类支持验证,查找网络上的地址和主机,以及其他常见的操作。本篇,将详细介绍Python中ipaddress库的使用规则。(内容涉及很多计算机网络知识,如果不懂,可以参考书籍《计算机网络》)地址一般来说,我们使用ipaddress库是通过ip_addre......
  • python request请求数据
    pythonrequest请求数据#-*-coding:utf-8-*-importrequestsimportjson#查询塔吊X数据defsearchTowerXValue():towerXValue=0.0try:#从服务器请求数据response=requests.get('https://www.baidu.com:8087/sX')#检查响应......