w3resource

Python: Sort a given list of strings(numbers) numerically using lambda

Python Lambda: Exercise-48 with Solution

Write a Python program to sort a given list of strings(numbers) numerically using lambda.

Sample Solution:

Python Code :

def sort_numeric_strings(nums_str):
    result = sorted(nums_str, key=lambda el: int(el))
    return result
nums_str = ['4','12','45','7','0','100','200','-12','-500']
print("Original list:")
print(nums_str)
print("\nSort the said list of strings(numbers) numerically:")
print(sort_numeric_strings(nums_str))

Sample Output:

Original list:
['4', '12', '45', '7', '0', '100', '200', '-12', '-500']

Sort the said list of strings(numbers) numerically:
['-500', '-12', '0', '4', '7', '12', '45', '100', '200']

Visualize Python code execution:

The following tool visualize what the computer is doing step-by-step as it executes the said program:


Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Python program to sort a given mixed list of integers and strings using lambda. Numbers must be sorted before strings.

Next: Write a Python program to count the occurrences of the items in a given list using lambda.

What is the difficulty level of this exercise?

Test your Python skills with w3resource's quiz



Python: Tips of the Day

Splits values into two groups. If an element in filter is True, the corresponding element in the collection belongs to the first group; otherwise, it belongs to the second group

Example:

def tips_bifurcate(lst, filter):
  return [
    [x for i, x in enumerate(lst) if filter[i] == True],
    [x for i, x in enumerate(lst) if filter[i] == False]
  ]

print(tips_bifurcate(['little', 'boo', 'peep', 'sat'], [True, True, False, True]))

Output:

[['little', 'boo', 'sat'], ['peep']]