我需要根据字符串中间的浮点值对字符串列表进行排序。
我已经看到一些答案得到一个关键的keys.sort(key=float)
,但在这些答案上,他们只有列表中的浮点数。在这种情况下,我需要将这段字符串转换为浮点型,并根据该值对其进行排序。最后,我将需要整个字符串。
list_of_msg = []
msg1 = "buy.apple<100; 21.15; Jonh>"
msg2 = "buy.apple<100; 20.00; Jane>"
msg3 = "buy.apple<50; 20.10; Anne>"
list_of_msg.append(msg1)
list_of_msg.append(msg2)
list_of_msg.append(msg3)
# sort method goes here
print(list_of_msg)
应根据值21.15、20.00、20.10对其进行排序
['buy.apple<100; 20.00; Jane>', 'buy.apple<50; 20.10; Anne>',
'buy.apple<100; 21.15; Jonh']
发布于 2019-04-08 02:04:13
将sorted
/ sort
与key
参数一起使用:
sorted(list_of_msg, key=lambda x: float(x.split(';')[1].strip()))
我们根据';'
拆分原始列表中的元素,并将第二个拆分作为key
参数传递。
https://stackoverflow.com/questions/55562057
复制相似问题