Search code examples
pythonlistloopsoperations

how can i do math operation on list elements in python?


Suppose i have list of numbers [3, 51, 34]. I want to add to each element the sum of the previous elements and return a new list with these new values. So here the result would be [3, 54, 88]. How to do it in general on an arbitrary-sized input list? The last line of this code should work on the known size lists.

indices1 = range(len(list1))

indices1.sort(key=lambda x: list2[x])
list1 = map(lambda i: list1[i], indices1)
labelled = zip(list1, ascii_uppercase)
sorted_data = sorted(labelled, key=itemgetter(0)) 

labels = [pair[1] for pair in sorted_data]
newlist, = [ 0, list1[0], list1[1] + list1[2], list1[0] + list[1] + list[2]]

Solution

  • a simple reduce:

    nums = [3,51,34]
    reduce(lambda x, y: [y] if not x else x + [y + x[-1]], nums, None)
    # [3, 54, 88]