w3resource

Python: Compute the square of first N Fibonacci numbers, use map function and generate a list of the numbers

Python map: Exercise-10 with Solution

Write a Python program to compute the square of first N Fibonacci numbers, using map function and generate a list of the numbers.

Fibonacci numbers:

From Wikipedia,
In mathematics, the Fibonacci numbers, commonly denoted Fn, form a sequence, called the Fibonacci sequence, such that each number is the sum of the two preceding ones, starting from 0 and 1. That is,

F0 = 0,   F1 = 1,

and

Fn = Fn - 1 + Fn - 2,

for n > 1.

The beginning of the sequence is thus:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144,....

Sample Solution:

Python Code :

import itertools
n = 10
def fibonacci_nums(x=0, y=1):
    yield x
    while True:
        yield y
        x, y = y, x + y
print("First 10 Fibonacci numbers:")
result = list(itertools.islice(fibonacci_nums(), n))
print(result)
square = lambda x: x * x 
print("\nAfter squaring said numbers of the list:")
print(list(map(square, result)))

Sample Output:

First 10 Fibonacci numbers:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

After squaring said numbers of the list:
[0, 1, 1, 4, 9, 25, 64, 169, 441, 1156]

Python Code Editor:

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

Previous: Write a Python program to create a new list taking specific elements from a tuple and convert a string value to integer.
Next: Write a Python program to compute the sum of elements of an given array of integers, use map() function.

What is the difficulty level of this exercise?

Test your Python skills with w3resource's quiz



Python: Tips of the Day

Merging two dicts in Python 3.5+ with a single expression

Example:

# How to merge two dictionaries
# in Python 3.5+

x = {'p': 1, 'q': 3}
y = {'q': 5, 'r': 8}

z = {**x, **y}

z
{'r': 4, 'p': 1, 'q': 3}

z = dict(x, **y)
print(z)

Output:

{'p': 1, 'q': 5, 'r': 8}