w3resource

Python: Find the sublist of numbers with only odd digits in increasing order


Increasing Odd-Digit Sublist

Write a Python program to find the sublist of numbers from a given list of numbers with only odd digits in increasing order.

Input:
[1, 3, 79, 10, 4, 2, 39]
Output:
[1, 3, 39, 79]

Input:
[11, 31, 40, 68, 77, 93, 48, 1, 57]
Output:
[1, 11, 31, 57, 77, 93]

Input:
[9, -2, 3, 4, -2, 0, 2, -3, 8, -1]
Output:
[-3, -1, 3, 9]

Visual Presentation:

Python: Find the sublist of numbers with only odd digits in increasing order.

Sample Solution:

Python Code:

# License: https://bit.ly/3oLErEI

# Define a function named 'test' that takes a list of numbers 'nums' as input
def test(nums):
    # Use a list comprehension to filter numbers with only odd digits and sort them in increasing order
    return sorted(n for n in nums if all(int(c) % 2 for c in str(abs(n))))

# Example 1
nums1 = [1, 3, 79, 10, 4, 2, 39]
print("Original list of numbers:")
print(nums1)
print("Sublist of numbers with only odd digits in increasing order:")
print(test(nums1))

# Example 2
nums2 = [11, 31, 40, 68, 77, 93, 48, 1, 57]
print("\nOriginal list of numbers:")
print(nums2)
print("Sublist of numbers with only odd digits in increasing order:")
print(test(nums2))

# Example 3
nums3 = [9, -2, 3, 4, -2, 0, 2, -3, 8, -1]
print("\nOriginal list of numbers:")
print(nums3)
print("Sublist of numbers with only odd digits in increasing order:")
print(test(nums3))

Sample Output:

Original list of numbers:
[1, 3, 79, 10, 4, 2, 39]
Sublist of numbers of the said list with only odd digits in increasing order:
[1, 3, 39, 79]

Original list of numbers:
[11, 31, 40, 68, 77, 93, 48, 1, 57]
Sublist of numbers of the said list with only odd digits in increasing order:
[1, 11, 31, 57, 77, 93]

Original list of numbers:
[9, -2, 3, 4, -2, 0, 2, -3, 8, -1]
Sublist of numbers of the said list with only odd digits in increasing order:
[-3, -1, 3, 9]

Flowchart:

Flowchart: Python - Find the sublist of numbers with only odd digits in increasing order.

For more Practice: Solve these Related Problems:

  • Write a Python program to filter a list of integers and return those numbers that consist solely of odd digits in strictly increasing order.
  • Write a Python program to check if each number’s digits are odd and in ascending order, then collect those numbers.
  • Write a Python program to use a helper function to test for odd digits and increasing order, filtering the input list accordingly.
  • Write a Python program to convert each number to a string, check that all digits are odd and sorted, and then output the valid numbers.

Go to:


Previous: Calculate the average of the numbers a through b rounded to nearest integer, in binary.
Next: Find two indices making a given string unhappy.

Python Code Editor :

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

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.