首页 > 编程语言 >【python】combinations函数遍历列表内元素不同组合

【python】combinations函数遍历列表内元素不同组合

时间:2023-03-16 17:45:35浏览次数:39  
标签:tmp 遍历 format python system filename combinations os

在参数调优的过程中,不同个体数的样本组合需要计算,但是一个一个用for来穷尽组合的可能显得太过笨拙,查到可以用itertools中的combinations模块来处理类似的问题:

from itertools import combinations
from sys import argv
import os

lst=[]

with open(argv[1], "r") as fi:
    for lines in fi.readlines():
        line = lines.strip("\n")
        lst.append(line)
for j in range(9):
    comlst = list(set(combinations(lst,j)))
    for i in comlst:
        filename = "allcombine_"+str(j)+"_combine_"+str(comlst.index(i))+"_.bed"
        for k in i:
            print(k)
            os.system('cat {} >> tmp/{}'.format(k,filename))
            os.system('bedtools sort -i tmp/{} > tmp/{}.sorted'.format(filename,filename))
            os.system('bedtools merge -i tmp/{}.sorted > result/{}.sorted.merged'.format(filename,filename))
            os.system('rm tmp/{}'.format(filename))

fi.close()

combinations输出的结果是一个{}限定起来的组合,不能直接当列表用会报错。

翻译

搜索

复制

标签:tmp,遍历,format,python,system,filename,combinations,os
From: https://www.cnblogs.com/muuyouzhi/p/17223601.html

相关文章

  • python中的typing库
    typing的主要作用有:类型检查,防止运行时出现参数、返回值类型不符作为开发文档附加说明,方便使用者调用时传入和返回参数类型模块加入不会影响程序的运行不会报正式的错......
  • 20230314-python-字典与json
    1.字典的定义                      ......
  • 小白也能学会的精简版GA遗传算法(Python)
    今天无意中看到了一篇讲遗传算法的文章,文章内容很短,大部分都是代码,代码跟平时见到的遗传算法不同之所以要拿这篇文章来讲,主要是因为原文没有对代码进行解释,但是,这段......
  • python datetime模块常用功能
    时间的转换:时间戳转日期(datetime.date.fromtimestamp(1234567896)),返回日期年-月-日时间戳转年月日时分秒(datetime.datetime.fromtimestamp(123456789......
  • python 雪花算法demo
    importtimeimportloggingclassInvalidSystemClock(Exception):"""时钟回拨异常"""pass#64位ID的划分WORKER_ID_BITS=5DATACENTER_ID_B......
  • python工程打包成可执行文件
    1、将python打包成exe的方式python上常见的打包方式目是通过pyinstaller来实现的。pipinstallpyinstaller或者用镜像下载:#清华源pipinstallpyinstaller-i......
  • python选出一定数量的随机文件到某个文件夹
    importosimportrandomimportshutildefmove_file(target_path,save_path,number):file_list=os.listdir(target_path)random.shuffle(file_list)......
  • python用递归方式去掉首尾空格
    #递归去除空格deftrip_str(s):   ifs[0]=='':       returntrip_str(s[1:])   elifs[-1]=="":       returntrip_str(s[:-1])......
  • Python中列表去重常用的3种方法!
    在Python中,列表去重的方法有很多种,其中比较常用的方法有3种:1、利用字典的【fromkeys()】和【keys()】方法去重;2、集合的可迭代方法;3、用for循环。这3种方法希望大家可......
  • Python3实现的简单三级菜单功能示例(Python实现三级菜单)
    三级菜单_要求:1.运行程序输出第一级菜单2.选择一级菜单某项,输出二级菜单,同理输出三级菜单3.菜单数据保存在文件中4.让用户选择是否要退出5.有返回上一级菜单的功能......