Collections.namedtuple() Hacker Rank Solution – Queslers

Problem: Collections.namedtuple() Hacker Rank Solution

collections.namedtuple()

Basically, namedtuples are easy to create, lightweight object types.
They turn tuples into convenient containers for simple tasks.
With namedtuples, you don’t have to use integer indices for accessing members of a tuple.

Example :

Code 01

>>> from collections import namedtuple
>>> Point = namedtuple('Point','x,y')
>>> pt1 = Point(1,2)
>>> pt2 = Point(3,4)
>>> dot_product = ( pt1.x * pt2.x ) +( pt1.y * pt2.y )
>>> print dot_product
11

Code 02

>>> from collections import namedtuple
>>> Car = namedtuple('Car','Price Mileage Colour Class')
>>> xyz = Car(Price = 100000, Mileage = 30, Colour = 'Cyan', Class = 'Y')
>>> print xyz
Car(Price=100000, Mileage=30, Colour='Cyan', Class='Y')
>>> print xyz.Class
Y

Task :

Dr. John Wesley has a spreadsheet containing a list of student’s IDs, Marks, class and name.
Your task is to help Dr. Wesley calculate the average marks of the students.

Collections.namedtuple() in Python - Hacker Rank Solution

Note:1. Columns can be in any order. IDs, marks, class and name can be written in any order in the spreadsheet.
2. Column names are ID, MARKS, CLASS and NAME. (The spelling and case type of these names won’t change.)

Input Format :

The first line contains an integer N, the total number of students.
The second line contains the names of the columns in any order.
The next N lines contains the marks, IDs, name and class, under their respective column names.

Constraints :

  • 0 <= N <= 100

Output Format :

Print the average marks of the list corrected to 2 decimal places.

Sample Input :

TESTCASE 01

5
ID         MARKS      NAME       CLASS     
1          97         Raymond    7         
2          50         Steven     4         
3          91         Adrian     9         
4          72         Stewart    5         
5          80         Peter      6   

TESTCASE 02

5
MARKS      CLASS      NAME       ID        
92         2          Calum      1         
82         5          Scott      2         
94         2          Jason      3         
55         8          Glenn      4         
82         2          Fergus     5

Sample Output :

TESTCASE 01

78.00

TESTCASE 02

81.00

Explanation :

TESTCASE 01
Average = (97 + 50 + 91 + 72 + 80)/5
Can you solve this challenge in 4 lines of code or less?NOTE: There is no penalty for solutions that are correct but have more than 4 lines.

Collections.namedtuple() Hacker Rank Solution in python 2

# Enter your code here. Read input from STDIN. Print output to STDOUT
from collections import namedtuple
N = int(raw_input())
headers = raw_input()
student = namedtuple('Student',headers)
students = []
for i in range(N):
    students.append(student(*raw_input().split()))
print sum(list(map(lambda x: float(x.MARKS),students)))/len(students)

Collections.namedtuple() Hacker Rank Solution in python 3

N, headers, total = int(input()), list(input().split()), 0
for _ in range(N):
    total += int(list(input().split())[headers.index('MARKS')])
print(total/N)

Collections.namedtuple() Hacker Rank Solution in pypy

# Enter your code here. Read input from STDIN. Print output to STDOUT
from collections import namedtuple
n, Student = input(), namedtuple('Student', raw_input())
print "%.2f" %( sum([float(stud.MARKS) for stud in [Student(*raw_input().split()) for _ in xrange(n)]]) / n )

Collections.namedtuple() Hacker Rank Solution in pypy 3

num_students = int(input())
relevant_pos = None
total = 0
for num in range(num_students + 1):
    if num == 0:
        titles = list(filter(lambda el: el != '', input().split(' ')))
        relevant_pos = titles.index('MARKS')
        continue
    total += int(list(filter(lambda el: el != '', input().split(' ')))[relevant_pos])

print(round(float(total) / num_students, 2))
Collections.namedtuple() Hacker Rank Solution Review:

In our experience, we suggest you solve this Collections.namedtuple() Hacker Rank Solution and gain some new skills from Professionals completely free and we assure you will be worth it.

Collections.namedtuple() problem is available on Hacker Rank for Free, if you are stuck anywhere between a compilation, just visit Queslers to get Collections.namedtuple() Hacker Rank Solution

Conclusion:

I hope this Collections.namedtuple() Hacker Rank Solution would be useful for you to learn something new from this problem. If it helped you then don’t forget to bookmark our site for more Hacker Rank, Leetcode, Codechef, Codeforce Solution.

This Problem is intended for audiences of all experiences who are interested in learning Programming in a business context; there are no prerequisites.

Keep Learning!

More Hacker Rank Problem & Solutions >>

Staircase Hacker Rank Solution

A Very Big Sum Hacker Rank Solution

Diagonal Difference Hacker Rank Solution

Nested Lists Hacker Rank Solution

Lists Hacker Rank Solution

Leave a Reply

Your email address will not be published.