w3resource

Python: Compute the average of nth elements in a given list of lists with different lengths

Python List: Exercise - 197 with Solution

Write a Python program to compute the average of the n-th element in a given list of lists with different lengths.

Sample Solution:

Python Code:

import itertools as it
nums = [[0, 1, 2],
       [2, 3, 4],
       [3, 4, 5, 6],
       [7, 8, 9, 10, 11],
       [12, 13, 14]]

print("Original list:")
print(nums)
def get_avg(x):
    x = [i for i in x if i is not None]
    return sum(x, 0.0) / len(x)
result = map(get_avg, it.zip_longest(*nums))
print("\nAverage of n-th elements in the said list of lists with different lengths:")
print(list(result))

Sample Output:

Original list:
[[0, 1, 2], [2, 3, 4], [3, 4, 5, 6], [7, 8, 9, 10, 11], [12, 13, 14]]

Average of n-th elements in the said list of lists with different lengths:
[4.8, 5.8, 6.8, 8.0, 11.0]

Pictorial Presentation:

Python List: Move a specified element in a given list.

Flowchart:

Flowchart: Move a specified element in a given list.

Visualize Python code execution:

The following tool visualize what the computer is doing step-by-step as it executes the said program:


Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Python program to move a specified element in a given list.
Next: Write a Python program to compare two given lists and find the indices of the values present in both lists.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.

Python: Tips of the Day

Decapitalizes the first letter of a string:

Example:

def tips_decapitalize(s, upper_rest=False):
  return s[:1].lower() + (s[1:].upper() if upper_rest else s[1:])
print(tips_decapitalize('PythonTips'))
print(tips_decapitalize('PythonTips', True)) 

Output:

pythonTips
pYTHONTIPS

 





We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook