Generate random Words or Letters in Python
Have you ever needed to generate random words or letters in Python? Check out this article to learn different ways to do it, from using libraries like random
and numpy
to regular expressions. Let’s dive in!
To generate random words or letters in Python, one can utilize the built-in random
or numpy
libraries to choose random letters or words from a list. Additionally, the faker
library or regular expressions can be used to generate random words or letters with specific patterns easily.

In this article, We will be learning about different module that helps to create or select random words or letters with real-time examples
I am using python version 3 to run all the below example and it can be installed using yum package manager
# yum install python3 Failed to set locale, defaulting to C Loaded plugins: ovl, priorities 13127 packages excluded due to repository priority protections Resolving Dependencies Installed: python3.x86_64 0:3.6.8-17.el7 Dependency Installed: python3-libs.x86_64 0:3.6.8-17.el7 python3-pip.noarch 0:9.0.3-8.el7 python3-setuptools.noarch 0:39.2.0-10.el7 Complete!
You can also download the python package from python.org
Using the random
library
The random
the library is a built-in Python library that helps to generate random data. We can use the random.choice()
function to generate random letters or words from a given set of characters.
random module will come with a python package by default, We can just import the module, and can be used as the below example
Generating random letters
We can use the string library to generate random letters. The string.ascii_letters constant contains all the uppercase and lowercase letters in the English alphabet. We can use the random.choices() function from the random library to generate a random letter from the string.ascii_letters constant.
Example Code:
import random
import string
# Generating a random letter
random_letter = random.choice(string.ascii_letters)
print(random_letter)
Output:
f
Try it yourself, Online python editor to run the above example and test it
The code above generates a random letter from the English alphabet and prints it to the console.
Generating random words
To generate a random word, we can use the random.choice()
function with a list of words. We can also use the random.sample()
function to generate a random set of letters and combine them to form a word.
Generating a random word from a list
Example Code:
import random
word_list = ['apple', 'banana', 'cherry', 'date']
random_word = random.choice(word_list)
print(random_word)
Output:
cherry
Generating a random word from a set of characters
Example Code:
import random
letters = 'abcdefghijklmnopqrstuvwxyz'
random_letters = random.sample(letters, 5)
random_word = ''.join(random_letters)
print(random_word)
Output:
wgatb
Try it yourself, Online python editor to run the above example and test it
In the first example, we generate a random word from a list of words using the random.choice()
function. In the second example, we generate a random set of letters using the random.sample()
function and then join them to form a word using the join()
function.
Using the numpy
library
We can use the numpy
library to generate random letters or words. The numpy.random.choice()
the function can generate a random letter or word from a given set of characters or words.
You can install numpy with the below command
# pip3 install numpy
Collecting numpy Downloading https://files.pythonhosted.org/packages/45/b2/6c7545bb7a38754d63048c7696804a0d947328125d81bf12beaa692c3ae3/numpy-1.19.5-cp36-cp36m-manylinux1_x86_64.whl (13.4MB) 100% |################################| 13.4MB 86kB/s Installing collected packages: numpy Successfully installed numpy-1.19.5
Generating a random letter using the numpy library
Example Code:
import numpy
random_letter = numpy.random.choice(list('abcdefghijklmnopqrstuvwxyz'))
print(random_letter)
Output:
j
Generating a random word using the numpy library
Example Code:
import numpy as np
word_list = ['apple', 'banana', 'cherry', 'date']
random_word = np.random.choice(word_list)
print(random_word)
Output:
apple
Using the faker
library
The faker
library is a Python library that provides fake data generation for testing and other purposes. It can generate fake names, addresses, phone numbers, and other data types. We can use the faker
library to generate random words or letters.
You can use the pip command to install faker library
#pip3 install faker
Collecting python-dateutil>=2.4 (from faker Installing collected packages: typing-extensions, six, python-dateutil, faker Successfully installed faker-14.2.1 python-dateutil-2.8.2 six-1.16.0 typing-extensions-4.1.1
Now, We can import faker library and use it in our code.
Generating random words
To generate a random word using the faker
library, we can use the word()
method of the faker.Faker
class.
Example Code:
from faker import Faker
# Creating a faker instance
fake = Faker()
# Generating a random word
random_word = fake.word()
print(random_word)
Output:
site
The code above generates a random word using the word()
method of the faker.Faker
class and prints it to the console.
Generating random letters
To generate a random letter using the faker
library, we can use the random_letter()
method of the faker.providers.person
module.
Example Code:
from faker import Faker
from faker.providers import person
# Creating a faker instance with the person provider
fake = Faker()
fake.add_provider(person)
# Generating a random letter
random_letter = fake.random_letter()
print(random_letter)
Output:
Y
The code above generates a random letter using the random_letter()
method of the faker.providers.person
module and prints it to the console.
Example to create a fake/random email address using faker library
from faker import Faker # create an instance of the Faker class fake = Faker() # generate a random email address email = fake.email() print(email)
Output:
brandon03@example.com
Similarly, We can create fake addresses, and names using the library, We just have to edit the code below
>>> address = fake.address() >>> print(address)
Output:
370 Wendy Radial Apt. 440 Larsenburgh, VT 18362
Using regular expressions
We can use regular expressions to generate random strings that match a specific pattern. For example, we can use the re library to generate a random string that matches the pattern ^[A-Za-z]{5}$, which matches a string of five uppercase or lowercase letters.
Example Code:
import re import random import string # Generating a random string using regular expressions pattern = '^[A-Za-z]{5}$' random_string = ''.join(random.choices(string.ascii_letters, k=10)) print(random_string)
Output:
XitBmjCHdW >>>
Conclusion
In this article, we have discussed how to generate random words or letters using Python. We have seen how to use the random
library and the faker
library and various other ways to generate random data. The choice of method depends on the specific use case and the requirements of the application.
Good Luck with your Learning !!