Python | Convert String list to ascii values
Sometimes, while working with Python, we can have a problem in which we need to convert String List to ascii values. This kind of problem can occur many times. Let’s discuss certain ways in which this task can be performed.
Method #1 : Using loop + ord() This problem can be solved using above functionalities. In this, we iterate the list and convert each character to it’s ascii number using ord().
Python3
# Python3 code to demonstrate working of # Convert String list to ascii values # using loop + ord() # initialize list test_list = [ 'gfg' , 'is' , 'best' ] # printing original list print ("The original list : " + str (test_list)) # Convert String list to ascii values # using loop + ord() res = [] for ele in test_list: res.extend( ord (num) for num in ele) # printing result print ("The ascii list is : " + str (res)) |
The original list : ['gfg', 'is', 'best'] The ascii list is : [103, 102, 103, 105, 115, 98, 101, 115, 116]
Time Complexity: O(N*N)
Auxiliary Space: O(N)
Method #2 : Using list comprehension + ord() This is yet another way to perform this task. This is just shorthand to above problem in which we compact the code using list comprehension using similar logic.
Python3
# Python3 code to demonstrate working of # Convert String list to ascii values # using list comprehension + ord() # initialize list test_list = [ 'gfg' , 'is' , 'best' ] # printing original list print ("The original list : " + str (test_list)) # Convert String list to ascii values # using list comprehension + ord() res = [ ord (ele) for sub in test_list for ele in sub] # printing result print ("The ascii list is : " + str (res)) |
The original list : ['gfg', 'is', 'best'] The ascii list is : [103, 102, 103, 105, 115, 98, 101, 115, 116]
Time Complexity: O(N*N)
Auxiliary Space: O(N)
Method#3: Using reduce() and map function + ord function: reduce is used to iterate over the list of string and Map function is used to convert the string to list of its ascii value by using ord as it’s function.
Python3
# Python 3 code to convert # string list to ascii value # using reduce and map function #importing reduce function from functools import reduce # list of string test_str = [ "gfg" , "is" , "best" ]; # printing original list print ( "Original list is : " + str (test_str)) # using reduce and map to convert # list of string to ascii value k = reduce ( lambda x,y 😡 + list ( map ( ord , y)),test_str, []) print ( "The ascii list is : " , str (k)) |
Output:
Original list is : ['gfg', 'is', 'best'] The ascii list is : [103, 102, 103, 105, 115, 98, 101, 115, 116]
Time Complexity: O(N)
Auxiliary Space: O(N)
Please Login to comment...