I have a list of objects appended from a mysql database and contain spaces. I wish to remove the spaces such as below, but the code im using doesnt work?
hello = ['999 ',' 666 '] k =  for i in hello: str(i).replace(' ','') k.append(i) print k
Here is Solutions:
We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.
Strings in Python are immutable (meaning that their data cannot be modified) so the replace method doesn’t modify the string – it returns a new string. You could fix your code as follows:
for i in hello: j = i.replace(' ','') k.append(j)
However a better way to achieve your aim is to use a list comprehension. For example the following code removes leading and trailing spaces from every string in the list using
hello = [x.strip(' ') for x in hello]
[num.strip() for num in hello] is the fastest.
>>> import timeit >>> hello = ['999 ',' 666 '] >>> t1 = lambda: map(str.strip, hello) >>> timeit.timeit(t1) 1.825870468015296 >>> t2 = lambda: list(map(str.strip, hello)) >>> timeit.timeit(t2) 2.2825958750515269 >>> t3 = lambda: [num.strip() for num in hello] >>> timeit.timeit(t3) 1.4320335103944899 >>> t4 = lambda: [num.replace(' ', '') for num in hello] >>> timeit.timeit(t4) 1.7670568718943969
result = map(str.strip, hello)
String methods return the modified string.
k = [x.replace(' ', '') for x in hello]
Presuming that you don’t want to remove internal spaces:
def normalize_space(s): """Return s stripped of leading/trailing whitespace and with internal runs of whitespace replaced by a single SPACE""" # This should be a str method :-( return ' '.join(s.split()) replacement = [normalize_space(i) for i in hello]
for element in range(0,len(hello)): d[element] = hello[element].strip()
replace() does not operate in-place, you need to assign its result to something. Also, for a more concise syntax, you could supplant your for loop with a one-liner:
hello_no_spaces = map(lambda x: x.replace(' ', ''), hello)
Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂