python 如何排序此列表以使指数值优先?

vngu2lb8  于 2022-12-02  发布在  Python
关注(0)|答案(1)|浏览(113)

给定list = [10, '3 ^ 2', '2 ^ 3'],如何对列表进行排序以使指数值('3 ^ 2'2 ^ 3)位于任何integer/float值之前,并且指数值从基数开始排序。
Desired Output:['2 ^ 3', '3 ^ 2', 10]
我已经尝试了remove()insert()的值,但我不知道如何找到索引插入的值。

7xllpg7q

7xllpg7q1#

你不应该使用list作为变量,它在python中是保留的。
不漂亮,但你可以用这个

sorted(mylist, key=lambda x: (-len(str(x).split('^')), str(x).split('^')[0]))

这是根据两个标准进行排序,首先是指数,然后是基数。

相关问题