logo CodeStepByStep logo


Language/Type: Python lists traversals

Write a function named n_copies that accepts a list of integers a as a parameter and returns a new list a2, with each element value n from a replaced by n consecutive copies of the value n at the same relative location in the list. For example, if a list named a stores the following element values:

[3, 5, 0, 2, 2, -7, 0, 4]

Then the call of a2 = n_copies(a) should return a new list a2 containing the following elements. The idea is that the value 3 was replaced by three 3s the 5 was replaced by five 5s and so on.

[3, 3, 3, 5, 5, 5, 5, 5, 2, 2, 2, 2, 4, 4, 4, 4]

Any element whose value is 0 or negative should not be kept in the returned list (as with 0 and -7 above).

Constraints: In solving this problem, you must create a single new list to be returned, but aside from that, do not create any other data structures such as temporary lists or strings. You may use as many simple variables (such as ints) as you like.

Function: Write a Python function as described, not a complete program.

You must log in before you can solve this problem.

Log In

Need help?

Stuck on an exercise? Contact your TA or instructor.

If something seems wrong with our site, please

Is there a problem? Contact us.