|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 poppy章鱼 于 2021-11-17 18:58 编辑
##刚学习python,挣扎了好久不会写,希望有大神帮忙解答,感激不尽。
我有两个文件1.txt,2.txt
想看1.txt中的start,end这个区域,是否在2.txt的start,end这个区域中(相等,或者是子集),如果在,则输出在2.txt每行的后面。
比如1.txt的第一行(20000---29000)这个范围在2.txt(10000---30000),则符合要求。
但是也有情况需要考虑,比如1.txt的第二行(36000---31000)start,end方向反了,需要reverse一下,在2.txt中也有这种情况。
可理解为start,end中间省略了。比如start:2, end:5,完整的文件是[2,3,4,5]
1.txt
ID1 start1 end1 length1
block1 20000 29000 9001
block1 36000 31000 5001
block1 45000 50000 5001
block2 14825 22000 7176
block2 30000 25000 5001
2.txt
ID2 start2 end2 freq2 length2
block1 10000 30000 2 20001
block1 30001 37000 1 7000
block1 37500 43000 4 5501
block1 44000 54000 2 10001
block2 12000 23000 4 11001
block2 32000 24000 2 8001
block2 33000 43000 3 10001
block2 50000 44000 2 6001
输出格式
ID2 start2 end2 freq2 length2 start1 end1 length1
block1 10000 30000 2 20001 20000 29000 9001
block1 30001 37000 1 7000 36000 31000 5001
block1 37500 43000 4 5501
block1 44000 54000 2 10001 45000 50000 5001
block2 12000 23000 4 11001 14825 22000 7176
block2 32000 24000 2 8001 30000 25000 5001
block2 33000 43000 3 10001
block2 50000 44000 2 6001
|
|