I am striving to convert a string to a tuple without splitting the characters of the string in the process. Can somebody suggest an easy method to do this. Need a one liner.
Fails
a = 'Quattro TT' print tuple(a)
Works
a = ['Quattro TT'] print tuple(a)
Since my input is a string, I tried the code below by converting the string to a list, which again splits the string into characters ..
Fails
a = 'Quattro TT' print tuple(list(a))
Expected Output:
('Quattro TT')
Generated Output:
('Q', 'u', 'a', 't', 't', 'r', 'o', ' ', 'T', 'T')
When it is required to convert a string into a tuple, the 'map' method, the 'tuple' method, the 'int' method, and the 'split' method can be used. The map function applies a given function/operation to every item in an iterable (such as list, tuple). It returns a list as the result.
Python's built-in function tuple() converts any sequence object to tuple. If it is a string, each character is treated as a string and inserted in tuple separated by commas.
One of these methods uses split() function while other methods convert the string into a list without split() function. Python list has a constructor which accepts an iterable as argument and returns a list whose elements are the elements of iterable. An iterable is a structure that can be iterated.
You can just do (a,)
. No need to use a function. (Note that the comma is necessary.)
Essentially, tuple(a)
means to make a tuple of the contents of a
, not a tuple consisting of just a
itself. The "contents" of a string (what you get when you iterate over it) are its characters, which is why it is split into characters.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With