我有一个文件,我想根据另一个文件中的列进行排序。两个文件都有一个公共列,排序应该根据第一个文件的排序方式。
例如: File_1包含:
chr2L 2808299 2808300 EOG698VMB 4.15912 + 1011
chr2L 5218259 5218260 EOG6ZPFGT 15.0025 + 91
chr2L 5329859 5329860 EOG62JPCT 30.1536 + 30
chr2L 6225049 6225050 EOG60024V 3.26788 + 29
chr2L 6255843 6255844 EOG61C7HF 12.6259 + 32
chr2L 6481023 6481024 EOG6CZC26 1.33686 + 176
chr2L 8522135 8522136 EOG6FN543 40.2544 + 142
chr2L 9769068 9769069 EOG6FBJDN 17.8248 + 15
chr2L 9782391 9782392 EOG6R24FN 9.50656 + 393
File_2包含:
chrXL_group1e 895799 895800 EOG67ST24 71.1687 + 62
chrXL_group1e 3113233 3113234 EOG6PVPKK 7.19303 + 847
chrXL_group1e 3424413 3424414 EOG6QC1SM 6.76991 + 81
chrXL_group1e 5698899 5698900 EOG651FCJ 93.5094 + 124
chrXL_group1e 6595546 6595547 EOG60K8KJ 28.349 + 185
chrXL_group1e 7594832 7594833 EOG6C2HX6 1.7771 + 2782
chrXL_group1e 8307304 8307305 EOG6NP7QS 229.754 + 35
chrXL_group1e 9922625 9922626 EOG6X3HMJ 8.8855 + 3744
chrXL_group1e 10297871 10297872 EOG6F7P63 2.70796 + 106
chrXL_group1e 11284647 11284648 EOG62Z5BX 282.474 + 4173
chr4_group5 213215 213216 EOG6J9NKZ 834.56 + 32
chrXR_group5 636614 636615 EOG6PVPK4 4.56969 + 152
我想根据File_1第4列(蛋白质ID)中给出的顺序对File_2的内容进行排序。
(示例中会有所不同。如果需要,我可以上传原始文件。)
我如何在 Python 中执行此操作?
我不认为蛋白质ID以任何特定方式排序。但是它们在File_1中的排序方式非常重要。
其他细节:
编程语言:Python 3.5.1
操作系统:Ubuntu 16.04 LTS
感谢您的回答。 :)
答案 0 :(得分:-1)
函数get_grade()
可以接收名为sorted
的关键字参数,该参数是为列表中的每个元素返回可比较参数的函数。
如果您有两个列表,其中一个是File_1列,另一个是File_2列,则可以使用:
key