# Python – Diagonal element addition among lists

Sometimes, while working with Python lists, we can have a problem in which we need to perform addition of lists in diagonal manner that i.e. adding ith element of 1 list to i + 1 element of other list. This kind of problem can have application in day-day programming. Lets discuss certain ways in which this task can be performed.

Method #1 : Using loop
This is brute force way in which this task can be performed. In this, we iterate one list and test add the i + 1th element of other list and construct the resultant list.

 `# Python3 code to demonstrate  ` `# Diagonal element addition among lists ` `# using loop ` ` `  `# Initializing lists ` `test_list1 ``=` `[``1``, ``6``, ``8``, ``5``, ``3``] ` `test_list2 ``=` `[``8``, ``10``, ``3``, ``4``, ``5``] ` ` `  `# printing original lists ` `print``(``"The original list 1 is : "` `+` `str``(test_list1)) ` `print``(``"The original list 2 is : "` `+` `str``(test_list2)) ` ` `  `# Diagonal element addition among lists ` `# using loop ` `res ``=` `[] ` `for` `idx ``in` `range``(``0``, ``len``(test_list1) ``-` `1``): ` `    ``res.append(test_list1[idx] ``+` `test_list2[idx ``+` `1``]) ` ` `  `# printing result  ` `print` `(``"List after diagonal addition : "` `+` `str``(res)) `

Output :

```The original list 1 is : [1, 6, 8, 5, 3]
The original list 2 is : [8, 10, 3, 4, 5]
List after diagonal addition : [11, 9, 12, 10]
```

Method #2 : Using` zip() `+ list comprehension
This is yet another way in which this task can be performed. In this, we group ith with i+1th element of other list using zip(). The task of performing addition is done in list comprehension.

 `# Python3 code to demonstrate  ` `# Diagonal element addition among lists ` `# using zip() + list comprehension ` ` `  `# Initializing lists ` `test_list1 ``=` `[``1``, ``6``, ``8``, ``5``, ``3``] ` `test_list2 ``=` `[``8``, ``10``, ``3``, ``4``, ``5``] ` ` `  `# printing original lists ` `print``(``"The original list 1 is : "` `+` `str``(test_list1)) ` `print``(``"The original list 2 is : "` `+` `str``(test_list2)) ` ` `  `# Diagonal element addition among lists ` `# using zip() + list comprehension ` `res ``=` `[i ``+` `j ``for` `i, j ``in` `zip``(test_list1, test_list2[``1``:])] ` ` `  `# printing result  ` `print` `(``"List after diagonal addition : "` `+` `str``(res)) `

Output :

```The original list 1 is : [1, 6, 8, 5, 3]
The original list 2 is : [8, 10, 3, 4, 5]
List after diagonal addition : [11, 9, 12, 10]
```

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.