My issue: I\'d like to add all the digits in this string \'1.14,2.14,3.14,4.14\' but the commas are causing my sum function to not work correctly.
I figured
You don't want strip, you want split.
The split function will separate your string into an array, using the separator character you pass to it, in your case split(',').
Since there seem to be a pattern in your input list of floats, this one-liner generates it:
>>> sum(map(float, ','.join(map(lambda x:str(x+0.14), range(1,5))).split(',')))
10.559999999999999
And since it doesn't make much sense joining with commas and immediately splitting by commas, here's a little saner piece of code:
>>> sum(map(float, map(lambda x:str(x+0.14), range(1,5))))
10.559999999999999
And if you actually meant you wanted to sum single digits and not the actual floating-point numbers (although I doubt it since you cast to float in your sample code):
>>> sum(map(int, ''.join(map(lambda x:str(x+0.14), range(1,5))).replace('.', '')))
30
Use this to remove commas and white spaces
a = [1,2,3,4,5]
print(*a, sep = "")
Output:- 12345
I would use the following:
# Get an array of numbers
numbers = map(float, '1,2,3,4'.split(','))
# Now get the sum
total = sum(numbers)
values=input()
l=values.split(",")
print(l)
With values=1,2,3,4,5
the result is ['1','2','3','4','5']
You need split not strip.
>>> for c in '1,2,3,4,5,6,7,8,9'.split(","):
print float(c)
1.0
2.0
3.0
4.0
5.0
6.0
7.0
8.0
9.0
Or if you want a list comprehension:
>>> [float(c) for c in '1,2,3,4,5,6,7,8,9'.split(",")]
[1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0]
And for getting the sum,
>>> sum(map(float, '1,2,3,4,5,6,7,8,9'.split(",")))
45.0