Sort Python List

Asked 2 years ago, Updated 2 years ago, 35 views

For example, ['level 10', 'level 4', 'level8', 'level9']

level 10
level 9
level 8
level 4

I want to print it out like this, but if you just use a sort,

level 9
level 8
level 4
level 10

This is what happens.

Do you happen to know how to arrange it as you want?

python list

2022-09-20 19:18

1 Answers

>>> l = [ "level %d"%i for i in range(4, 12, 2) ]
>>> l
['level 4', 'level 6', 'level 8', 'level 10']
>>> sorted(l)
['level 10', 'level 4', 'level 6', 'level 8']
>>> sorted(l, key=lambda s:int(s[5:]))
['level 4', 'level 6', 'level 8', 'level 10']
>>> f = lambda s: int(s[5:])
>>> f("level 3")
3
>>> f("level 5")
5
>>> f("abcde 7")
7
>>> f("eeeee 11")
11
>>> sorted(l, key=lambda s: int(s[5:]), reverse=True)
['level 10', 'level 8', 'level 6', 'level 4']


2022-09-20 19:18

If you have any answers or tips


© 2024 OneMinuteCode. All rights reserved.