# How to remove extra space from output list tuple?

Hi,

I have this input [python]P (0, 2,+1) (2, 0, -1) (0, 4,+1) (4, 0, -1)[/python] and I would like to have it printed out this way [python][(0, 2, 1), (2, 0, -1), (0, 4, 1), (4, 0, -1)][/python]. However, due to the extra space in the input I ran into this error. Without making any change to the input, I wonder if anyone could advise? Thanks
[python]
algorithm_type_2 = list(eval(user_input_2))
File “”, line 1
(0,2,+1),(2,0,-1),(0,4,+1),(4,0,-1)
^
SyntaxError: invalid syntax
[/python]

[python]
user_input = input().split()

# algorithm_type = ‘X’

algorithm_type = user_input.pop(0)

user_input_2 = ‘,’.join(user_input)
algorithm_type_2 = list(eval(user_input_2))
print(user_input_2)
print(algorithm_type_2)
[/python]

You’re going to want to re-format your post, because it’s not easy to see what you’re doing.

You need backtics for your code, rather than `[python][\python]`, like this…

`````````python
```
``````

By Longmen2022 via Discussions on Python.org at 05May2022 03:19:

I have this input [python]P (0, 2,+1) (2, 0, -1) (0, 4,+1) (4, 0,
-1)[/python] and I would like to have it printed out this way
[python][(0, 2, 1), (2, 0, -1), (0, 4, 1), (4, 0, -1)][/python].
However, due to the extra space in the input I ran into this error.
Without making any change to the input, I wonder if anyone could
[python]
algorithm_type_2 = list(eval(user_input_2))
File “”, line 1
(0,2,+1),(2,0,-1),(0,4,+1),(4,0,-1)
^
SyntaxError: invalid syntax
[/python]

That is not an extra space, it is an extra comma. I think you’ve simply

[python]
user_input = input().split()

# algorithm_type = ‘X’

algorithm_type = user_input.pop(0)

user_input_2 = ‘,’.join(user_input)
algorithm_type_2 = list(eval(user_input_2))
print(user_input_2)
print(algorithm_type_2)
[/python]

Can I make some suggestions?

• please try very much to not use `eval()`? Particularly with input
received from a user, but it is generally a risky thing to do unless
you are extremely careful about composing the string you want
evaluated. xkcd: Exploits of a Mom (SQL, but applicable to any
evaluation situation.)

Python syntax is very rough - almost any change to it will make your
resulting string invalid.

Are your really in need of parser for brackets tuples, or is your
requirement a little different.

Cheers,
Cameron Simpson cs@cskk.id.au

That’s not an extra space, it is extra commas.

The most important skill for a programmer is to actually read the errors that they receive. We all write buggy code. The best programmer in the world probably writes more bugs in a day than you do in a month.

The difference is that good programmers can (usually) fix their bugs the instant they see them, because they read the error messages carefully.

If all else fails, and you really cannot change the input:

``````user_input2 = user_input2.replace(',,', ',')
``````

to change double commas into single commas. But you should think about why you have double commas in `user_input2`, and if possible, prevent them from being entered in the first place.

And I agree with Cameron: you shouldn’t be using `eval` unless you really, really, really know what you are doing.