2024-09-28 01:29:41 发布
网友
请列出:
list = ['UUU', 'UCU', 'UAU', 'UGU', 'AAC', 'AAG', 'AGC', 'GGG']
考虑到A=1,G=2,C=3,U=4,我想对它们进行排序
如何在python或linux/bash shell中使用or或sort实现这一点
当我使用或排序时,C排在G之前。如何解决这个问题
这将是python的^{}的一个很好的使用,它对于这类事情非常有效:
l = ['UUU', 'UCU', 'UAU', 'UGU', 'AAC', 'AAG', 'AGC', 'GGG'] trans = str.maketrans({'A':'1', 'G':'2', 'C':'3', 'U':'4'}) sorted(l, key=lambda x: x.translate(trans)) # ['AAG', 'AAC', 'AGC', 'GGG', 'UAU', 'UGU', 'UCU', 'UUU']
这应该起作用:
def transfomer_fn(s): tmap = {'A': '1', G: '2', C: '3', U:'4'} res = '' for x in s: res += tmap[x] return res sorted_list = sorted(list, key=lambda x: transformer_fn(x))
这将是python的^{} 的一个很好的使用,它对于这类事情非常有效:
这应该起作用:
相关问题 更多 >
编程相关推荐