Python | Append String to list
Sometimes, while working with data, we can have a problem in which we need to add elements to a container. The list can contain any type of data type. Let’s discuss certain ways in Python in which we can perform string append operations in the list of integers.
Input: [1,2,3,4] Output: [1,2,3,4, 'w3wiki'] Explanation: Here we appended the String 'w3wiki' in the list of numbers.
Add String to a List in Python
Below are the methods that we will cover in this article:
- Using ‘+’ operator
- Using append() function
- Using insert() function
- Using extend() function
- Using itertools.chain() method
- Using the map() and join() method
- Using reduce() method.
Append String to a list using concatenation
In this method, we first convert the string into a list and then perform the task of append using the + operator in Python.
Python3
# initialize list test_list = [ 1 , 3 , 4 , 5 ] # initialize string test_str = 'gfg' # printing original list print ( "The original list : " + str (test_list)) # printing original string print ( "The original string : " + str (test_str)) # using + operator + list conversion test_list + = [test_str] # printing result print ( "The list after appending is : " + str (test_list)) |
The original list : [1, 3, 4, 5] The original string : gfg The list after appending is : [1, 3, 4, 5, 'gfg']
Time Complexity: O(1)
Auxiliary Space: O(1)
Append String at the end of a list
This particular append() function can be used to perform the operation of appending a string element to the end of a list without changing the state of the string to a list of characters.
Python3
# initialize list test_list = [ 1 , 3 , 4 , 5 ] # initialize string test_str = 'gfg' # printing original list print ( "The original list : " + str (test_list)) # printing original string print ( "The original string : " + str (test_str)) # Appending String to list # using append() test_list.append(test_str) # printing result print ( "The list after appending is : " + str (test_list)) |
The original list : [1, 3, 4, 5] The original string : gfg The list after appending is : [1, 3, 4, 5, 'gfg']
Time Complexity: O(1)
Auxiliary Space: O(1)
Add Elements to a List in Python using insert() Function
This function is used to insert and add the element at the last of the list by using the length of the list as the index number. By finding the index value where we want to append the string we can append using the index function to append the string into the list
Python3
# initialize list test_list = [ 1 , 3 , 4 , 5 ] # initialize string test_str = 'gfg' # printing original list print ( "The original list : " + str (test_list)) # printing original string print ( "The original string : " + str (test_str)) # Index for insert method index = len (test_list) # Appending String to list # using insert() test_list.insert(index, test_str) # printing result print ( "The list after appending is : " + str (test_list)) |
The original list : [1, 3, 4, 5] The original string : gfg The list after appending is : [1, 3, 4, 5, 'gfg']
Time Complexity: O(1)
Auxiliary Space: O(1)
Append String to list using extend() Function
This method can be used to solve this problem, extend function is used to merge the one list to the end of the second list. We add a string to the end of the list by using extend function into the list at the end and print the result
Python3
# initialize list test_list = [ 1 , 3 , 4 , 5 ] # initialize string test_str = 'gfg' # printing original list print ( "The original list : " + str (test_list)) # printing original string print ( "The original string : " + str (test_str)) # using extend() test_list.extend([test_str]) # printing result print ( "The list after appending is : " + str (test_list)) |
The original list : [1, 3, 4, 5] The original string : gfg The list after appending is : [1, 3, 4, 5, 'gfg']
Time Complexity: O(1)
Auxiliary Space: O(1)
Add Elements to a List in Python using itertools.chain()
In this method, we can use itertools.chain() function to concatenate the given list and string element. Here with the help of itertool.chain string into the list at the end and then print the result
Python3
import itertools # initialize list test_list = [ 1 , 3 , 4 , 5 ] # initialize string test_str = 'gfg' # printing original list print ( "The original list : " + str (test_list)) # printing original string print ( "The original string : " + str (test_str)) # using itertools.chain() test_list = list (itertools.chain(test_list, [test_str])) # printing result print ( "The list after appending is : " + str (test_list)) |
The original list : [1, 3, 4, 5] The original string : gfg The list after appending is : [1, 3, 4, 5, 'gfg']
Time Complexity: O(1)
Space Complexity: O(n)
Python append to string using the map() and join() Method
Python has a map(str, test_str), str() is a built-in function that converts any value to a string. In this case, it is used to convert each character of the test_str to a single string. The map() function applies each element of the iterable object passed to it. Since we want to append the test_str to the list, we need to join the individual strings created by map() into a single string. So, “”.join(map(str, test_str)) creates a single string by joining the individual strings
Python3
# initialize list test_list = [ 1 , 3 , 4 , 5 ] # initialize string test_str = "gfg" # printing original list print ( "The original list : " + str (test_list)) # printing original string print ( "The original string : " + str (test_str)) # append string to list using map() function test_list + = ["".join( map ( str , test_str))] # print the updated list print ( "The list after appending is : " + str (test_list)) |
The original list : [1, 3, 4, 5] The original string : gfg The list after appending is : [1, 3, 4, 5, 'gfg']
Time Complexity: O(n) as we are iterating to each element, where n is the size of the list
Space Complexity: O(n) as we use the map function which takes O(n) space.
Python append to string using reduce() Method
Import the reduce function from the functools module then initialize a list test_list and a string test_str. Define a lambda function concatenate that takes two arguments x and y. Inside the lambda function, join the list y into a string and concatenate it to the list x. Use the reduce function to apply the concatenate lambda function to test_list and test_str and store the result in the variable result_list now print the updated list.
Python3
from functools import reduce # initialize list test_list = [ 1 , 3 , 4 , 5 ] # initialize string test_str = "gfg" # Define a lambda function to concatenate the string to the list concatenate = lambda x, y: x + ["".join( map ( str , y))] # Append the string to the list using reduce() function result_list = reduce (concatenate, [test_list, test_str]) # print the updated list print ( "The list after appending is : " + str (result_list)) |
The list after appending is : [1, 3, 4, 5, 'gfg']
Time Complexity: O(n) as we are iterating to each element, where N is the size of the list
Space Complexity: O(n)
Contact Us