Skip to content
Related Articles

Related Articles

Python – Append List every Nth index

Improve Article
Save Article
  • Last Updated : 11 Oct, 2020
Improve Article
Save Article

Given 2 list, append list to the original list every nth index.

Input : test_list = [3, 7, 8, 2, 1, 5, 8], app_list = [‘G’, ‘F’, ‘G’], N = 3 
Output : [‘G’, ‘F’, ‘G’, 3, 7, 8, ‘G’, ‘F’, ‘G’, 2, 1, 5, ‘G’, ‘F’, ‘G’, 8] 
Explanation : List is added after every 3rd element.
Input : test_list = [3, 7, 8, 2, 1, 5, 8, 9], app_list = [‘G’, ‘F’, ‘G’], N = 4 
Output : [‘G’, ‘F’, ‘G’, 3, 7, 8, 2, ‘G’, ‘F’, ‘G’, 1, 5, 8, 9 ‘G’, ‘F’, ‘G’] 
Explanation : List is added after every 4th element. 
 

Method #1 : Using loop

This is brute way to solve this problem, in this, every nth index, inner loop is used to append all other list elements.

Python3




# Python3 code to demonstrate working of 
# Append List every Nth index
# Using loop
  
# initializing list
test_list = [3, 7, 8, 2, 1, 5, 8, 9, 3]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing Append list 
app_list = ['G', 'F', 'G']
  
# initializing N 
N = 3
  
res = []
for idx, ele in enumerate(test_list):
      
    # if index multiple of N
    if idx % N == 0:
        for ele_in in app_list:
            res.append(ele_in)
    res.append(ele)
  
# printing result 
print("The appended list : " + str(res))

Output:

The original list is : [3, 7, 8, 2, 1, 5, 8, 9, 3]
The appended list : [‘G’, ‘F’, ‘G’, 3, 7, 8, ‘G’, ‘F’, ‘G’, 2, 1, 5, ‘G’, ‘F’, ‘G’, 8, 9, 3]

Method #2 : Using extend()

Another way to solve this problem. In this, we use extend to get all the elements in every Nth index, rather than inner list.

Python3




# Python3 code to demonstrate working of 
# Append List every Nth index
# Using extend()
  
# initializing list
test_list = [3, 7, 8, 2, 1, 5, 8, 9, 3]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing Append list 
app_list = ['G', 'F', 'G']
  
# initializing N 
N = 3
  
res = []
for idx, ele in enumerate(test_list):
      
    # if index multiple of N
    if idx % N == 0:
          
        # extend to append all elements
        res.extend(app_list)
          
    res.append(ele)
  
# printing result 
print("The appended list : " + str(res))

Output:

The original list is : [3, 7, 8, 2, 1, 5, 8, 9, 3]
The appended list : [‘G’, ‘F’, ‘G’, 3, 7, 8, ‘G’, ‘F’, ‘G’, 2, 1, 5, ‘G’, ‘F’, ‘G’, 8, 9, 3]


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!