我想按照列表中的优先顺序 (*,/,+,-) 对数学运算符列表(存储为字符串)进行排序。我的列表中有数千个列表。
例如
my_lists = [['*','+','-'],['-','*','*'],['+','/','-']]
应该变成:
new_list = [['*','+','-'],['*','*','-'],['/','+','-']]
有没有办法按照用户定义的顺序对列表中的列表进行排序?
最佳答案
你可以像这样用字典定义优先级
>>> priority = {'*': 0, '/': 1, '+': 2, '-': 3}
然后使用 priority
的值对各个列表进行排序,如下所示
>>> [sorted(item, key=priority.get) for item in my_lists]
[['*', '+', '-'], ['*', '*', '-'], ['/', '+', '-']]
关于python - 如何按用户定义的顺序对列表中的列表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34721320/