给定list = [10, '3 ^ 2', '2 ^ 3'],如何对列表进行排序以使指数值('3 ^ 2'和2 ^ 3)位于任何integer/float值之前,并且指数值从基数开始排序。Desired Output:['2 ^ 3', '3 ^ 2', 10]我已经尝试了remove()和insert()的值,但我不知道如何找到索引插入的值。
list = [10, '3 ^ 2', '2 ^ 3']
'3 ^ 2'
2 ^ 3
integer
float
Desired Output:
['2 ^ 3', '3 ^ 2', 10]
remove()
insert()
7xllpg7q1#
你不应该使用list作为变量,它在python中是保留的。不漂亮,但你可以用这个
sorted(mylist, key=lambda x: (-len(str(x).split('^')), str(x).split('^')[0]))
这是根据两个标准进行排序,首先是指数,然后是基数。
1条答案
按热度按时间7xllpg7q1#
你不应该使用list作为变量,它在python中是保留的。
不漂亮,但你可以用这个
这是根据两个标准进行排序,首先是指数,然后是基数。