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