Python | Checking if starting digits are similar in list

• Last Updated : 02 Apr, 2019

Sometimes we may face a problem in which we need to find for a list if it contains numbers with the same digits. This particular utility has an application in day-day programming. Let’s discuss certain ways in which this task can be achieved.

Method #1 : Using list comprehension + map()
We can approach this problem by converting the elements to the strings and then testing the starting element of string and if they are equal we can return true and then convert to set and test for size of result to be one. The conversion is done by map, set function converts to set and list comprehension checks for first element of string.

 # Python3 code to demonstrate# checking for first digit in elements# using list comprehension + map()  # initializing list test_list = [45, 4, 428829, 432]  # printing original listprint("The original list : " + str(test_list))  # using list comprehension + map()# checking for first digit in elementsres = len(set(sub for sub in  map(str, test_list))) == 1  # print resultprint("Does each element start with same digit ? " + str(res))
Output :
The original list : [45, 4, 428829, 432]

Method #2 : Using all() + list comprehension
This is yet another approach in which this problem can be solved. In this we use all function to check for all elements and return a Boolean result and list comprehension does the part of conversion of string by str function and checking for all elements with the first digit of first element.

 # Python3 code to demonstrate# checking for first digit in elements# using all() + list comprehension  # initializing list test_list = [45, 4, 428829, 432]  # printing original listprint("The original list : " + str(test_list))  # using all() + list comprehension# checking for first digit in elementsres = all(str(i) == str(test_list) for i in test_list)  # print resultprint("Does each element start with same digit ? " + str(res))
Output :
The original list : [45, 4, 428829, 432]