我有一张单子。每个子列表中的第一个元素是染色体,如“chr1”、“chr5”、“chr10”、“chrX”和“chrY”。我想先按染色体数,然后按X和Y对子列表进行排序。在
List.sort(key=lambda x: Set_Chr_Nr_(x[0]))
我使用下面的def,它接受染色体字符串,删除'chr',如果余数是数字,则将余数转换为int;如果是'X'或'Y',则赋值一个数字。在
^{pr2}$但它不会返回所需的排序顺序。相反,我得到的列表以包含“chr1”的子列表开头,但将包含“chr10”的子列表放在下一个,而不是“chr2”。我做错什么了?在
带列标题的示例数据:
Type OriginChr OriginBegin OriginEnd DestChr DestBegin DestEnd
inversion chr10 13105010 13105143 chr10 13104876 13105378
inversion chr14 87902496 87902539 chr14 87902497 87902540
瑞克
你可以试试
如果你想用列表.排序(),您可以切换到
^{pr2}$对于你的原始输入,如果列是固定的,这将起作用
相关问题 更多 >
编程相关推荐