Python | Ways to initialize list with alphabets

While working with lists, sometimes we wish to initialize the list with the English alphabets a-z. This is an essential utility in competitive programming and also in certain applications. Let’s discuss various approaches to achieve this.

Method #1 : Naive method
The most general method that comes in our mind is using the brute force method of running a loop till 26 and incrementing it while appending the letters in the list.

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 code to demonstrate 
# Filling alphabets
# using naive method 
  
# initializing empty list 
test_list = []
  
# printing initial list 
print ("Initial list : " + str(test_list))
  
# using naive method
# for filling alphabets
alpha = 'a'
for i in range(0, 26):
    test_list.append(alpha)
    alpha = chr(ord(alpha) + 1
  
# printing resultant list 
print ("List after insertion : " + str(test_list))

chevron_right


Output :



Initial list : []
List after insertion : [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘i’, ‘j’, ‘k’, ‘l’, ‘m’, ‘n’, ‘o’, ‘p’, ‘q’, ‘r’, ‘s’, ‘t’, ‘u’, ‘v’, ‘w’, ‘x’, ‘y’, ‘z’]

 

Method #2 : Using list comprehension
This is method similar to the above method, but rather a shorthand to naive method as it uses the list comprehension technique to achieve the task.

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 code to demonstrate 
# Filling alphabets
# using list comprehension
  
# initializing empty list 
test_list = []
  
# printing initial list 
print ("Initial list : " + str(test_list))
  
# using list comprehension
# for filling alphabets
test_list = [chr(x) for x in range(ord('a'), ord('z') + 1)]
  
# printing resultant list 
print ("List after insertion : " + str(test_list))

chevron_right


Output :

Initial list : []
List after insertion : [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘i’, ‘j’, ‘k’, ‘l’, ‘m’, ‘n’, ‘o’, ‘p’, ‘q’, ‘r’, ‘s’, ‘t’, ‘u’, ‘v’, ‘w’, ‘x’, ‘y’, ‘z’]

 

Method #3 : Using map()
Using map() is the elegant way to perform this particular task. It type casts the numbers in a range to particular data type, char in this case and assigns to the list.

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 code to demonstrate 
# Filling alphabets
# using map()
  
# initializing empty list 
test_list = []
  
# printing initial list 
print ("Initial list : " + str(test_list))
  
# using map()
# for filling alphabets
test_list = list(map(chr, range(97, 123)))
  
# printing resultant list 
print ("List after insertion : " + str(test_list))

chevron_right


Output :

Initial list : []
List after insertion : [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘i’, ‘j’, ‘k’, ‘l’, ‘m’, ‘n’, ‘o’, ‘p’, ‘q’, ‘r’, ‘s’, ‘t’, ‘u’, ‘v’, ‘w’, ‘x’, ‘y’, ‘z’]

 

Method #4 : Using string.ascii_lowercase
The most pythonic and latest way to perform this particular task. Using this new inbuilt function will internally handle the coding part providing the useful shorthand for the user.

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 code to demonstrate 
# Filling alphabets
# using string
import string
  
# initializing empty list 
test_list = []
  
# printing initial list 
print ("Initial list : " + str(test_list))
  
# using string 
# for filling alphabets
test_list = list(string.ascii_lowercase)
  
# printing resultant list 
print ("List after insertion : " + str(test_list))

chevron_right


Output :

Initial list : []
List after insertion : [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘i’, ‘j’, ‘k’, ‘l’, ‘m’, ‘n’, ‘o’, ‘p’, ‘q’, ‘r’, ‘s’, ‘t’, ‘u’, ‘v’, ‘w’, ‘x’, ‘y’, ‘z’]



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.