Converting List and tuples using str() function

  • Context: Python 
  • Thread starter Thread starter Taylor_1989
  • Start date Start date
  • Tags Tags
    Function List Python
Click For Summary

Discussion Overview

The discussion revolves around converting tuples and lists to strings using the str() function in Python. Participants explore the differences in string length between the converted tuple/list and a manually defined string, focusing on the output characteristics of these data types.

Discussion Character

  • Exploratory, Technical explanation, Conceptual clarification

Main Points Raised

  • One participant describes their experience with a Python exercise involving tuples and lists, noting unexpected string lengths after conversion using str().
  • Another participant suggests printing the actual strings derived from the tuple and list to investigate the character count.
  • A later reply acknowledges the presence of spaces and delimiters in the output of the tuple and list conversions.

Areas of Agreement / Disagreement

Participants appear to agree on the observation regarding the additional characters in the string representations of tuples and lists, but the discussion does not resolve the underlying question of why this occurs in detail.

Contextual Notes

The discussion does not address specific assumptions about string formatting or the behavior of the str() function in different contexts.

Taylor_1989
Messages
400
Reaction score
14
TL;DR
I am slightly confused to why using the str() on a tuple and list produces a length greater than a a defined string when comparing lengths
I am currently working my way through some w3schools python exercise on tuples and lists etc and one question was to write a program to converted a tuple to a string.

Now originally I used the str() function on the tuple and printed the result. I then used the string in a for loop for a further question and realized that the tuples and lists were printing additional terms compared when just defining a string using ' '.

As can be seen from my code below

Python:
t =(1,2,3,4,5)
L =[1,2,3,4,5]

string = '1,2,3,4,5'

t = str(t)
L = str(L)

length = len(t)
length1 = len(L)
length2 = len(string)

print(length)
print(length1)
print(length2)

Output
15
15
9

My question why is this, why is there 15 for the list and the tuple yet 9 for the string? Where is the additional six count coming from in the tuple and list?
 
Technology news on Phys.org
Taylor_1989 said:
Where is the additional six count coming from in the tuple and list?

Try printing the actual strings you made from the tuple and the list and counting the characters. In other words:

Python:
print(t)
print(L)
 
  • Like
Likes   Reactions: jedishrfu and Taylor_1989
PeterDonis said:
Try printing the actual strings you made from the tuple and the list and counting the characters. In other words:

Python:
print(t)
print(L)

Ah I see the tuple and lists output spaces, thank you.
 
  • Like
Likes   Reactions: jedishrfu
Taylor_1989 said:
the tuple and lists output spaces

And the delimiters as well, yes.
 
  • Like
Likes   Reactions: Taylor_1989 and jedishrfu

Similar threads

  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 18 ·
Replies
18
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 43 ·
2
Replies
43
Views
5K
  • · Replies 10 ·
Replies
10
Views
6K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 16 ·
Replies
16
Views
3K