Hi, I want to add up all of the list elements. But when I use the "map" function, it didn't seem to work as I expect. Could someone point out how "map" can be applied here then?
def add_all_elements (*args): total = 0 for i in args: print(type(i)) print("i = %s" % i) print("BEFORE total = %s" % total) total += int(i) print("AFTER total = %s\n" % total) print("FINAL total = %s\n" % total) return total alist = ['2', '09', '49'] ## this one works Okay add_all_elements(*alist) <class 'str'> i = 2 BEFORE total = 0 AFTER total = 2 <class 'str'> i = 09 BEFORE total = 2 AFTER total = 11 <class 'str'> i = 49 BEFORE total = 11 AFTER total = 60 FINAL total = 60 ======== ## Why is this NOT Okay when I use map ?? What must I change ? >>> list(map(add_all_elements,alist)) <class 'str'> i = 2 BEFORE total = 0 AFTER total = 2 FINAL total = 2 <class 'str'> i = 09 BEFORE total = 0 AFTER total = 9 FINAL total = 9 <class 'str'> i = 49 BEFORE total = 0 AFTER total = 49 FINAL total = 49 [2, 9, 49] Thanks, Viet -- https://mail.python.org/mailman/listinfo/python-list