我有一个在正常编程意义上是微不足道的问题,但如果可能的话,我想找到另一种解决方案来使用一些 python 技巧来做到这一点。
我有一个文本文件如下:
A1 1 5 g1_0 10
A1 6 8 g2_0 13
A1 9 12 g3 18
A1 15 24 g4 2
A1 25 27 g5 5
A1 30 33 g1_1 20
A1 44 67 g10 19
A1 69 77 g9 19
A1 80 99 g6 19
A1 153 166 g2_1 19
我想做的是按以下方式过滤文本文件:当我在第 4 列中有“_0”或“_1”或“_2”时,我想检查第 5 列。如果第 5 列的数字最高,我想用“_”删除所有其他人,只保留得分较高的人。
PS:对于第 4 列的每个值,我想保留得分最高的那个。例如,在这种情况下,这些值将保持不变,这不是全部比较,而是具有“_0”“_1”的每一对或三元组"_2" 应该单独比较最高分:
A1 9 12 g3 18
A1 15 24 g4 2
A1 25 27 g5 5
A1 30 33 g1_1 20
A1 44 67 g10 19
A1 69 77 g9 19
A1 80 99 g6 19
A1 153 166 g2_1 19
有没有办法做到这一点而不循环很多?