Skip to main content
 首页 » 编程设计

python之排序列表(自己定义的值,其他值)

2025年05月04日19yjmyzz

<分区>

我有大量的列表,我知道这些列表将包含几个已知的和几个未知的(即变化的)条目。我现在想对列表进行排序,将预期条目按预定义顺序移至开头,并将其他条目推至末尾(按其原始顺序,或者理想情况下,按字母顺序)。

例如,我有这样的列表:

l1 = ['Agree', 'Neither agree nor disagree', 'some random answer', 'Strongly agree', 'Disagree', 'Strongly disagree'] 
l2 = ['Agree', '-99', 'Neither agree nor disagree', 'Strongly agree', 'Disagree', 'Strongly disagree'] 
l3 = ['Other', 'Agree', 'Neither agree nor disagree', 'Strongly agree', 'Disagree', 'Strongly disagree'] 
l4 = ['Agree', 'Neither agree nor disagree', 'Strongly agree', 'Disagree', 'Strongly disagree', 'Answer declined'] 

我希望所有列表都按预定义的方式排序:

l_out = ['Strongly agree', 'Agree', 'Neither agree nor disagree', 'Disagree', 'Strongly disagree', 'X', 'Y', 'Z']` 

用 X、Y 和 Z 代替所有列表中不存在的各种元素。

我找不到解决此问题的问题,手动遍历列表似乎太麻烦,不是最有效的解决方案。会很高兴任何指针 - 提前谢谢你! :)