Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialJosiah Loh
186 PointsHow do i format string ?
Hello, i am going through python basics lesson where i have to format strings, i do not recall learning how to join strings with , . Can any kind soul teach me how to format strings ?
available = "banana split;hot fudge;cherry;malted;black and white"
sundaes = available.split(";")
menu = "Our available flavors are {}.join(sundaes)"
display_menu= menu
2 Answers
Naga pavan kumar kalepu
5,909 PointsBelow format statement may helpful for you to understand to join strings
menu = "Our available flavors are {}".format(sundaes)
Naga pavan kumar kalepu
5,909 PointsOtherwise if you don't want to use format method and you have a list of items to be joined, you can also do as below
menu = ", ".join(sundaes) print menu #'banana split, hot fudge, cherry, malted, black and white' display_menu = "Our available flavors are {}".format(menu) print display_menu. #'Our available flavors are banana split, hot fudge, cherry, malted, black and white'
Steven Parker
231,275 PointsSince "sundaes" is a list, supplying it as an argument to "format" would likely not produce the intended output.
Steven Parker
231,275 PointsOne issue with the above code is a function (join) inside quotes, which makes it a string literal instead of an actual function.
To refresh your knowledge of formatting and concatenatiion, you might want to review the Strings and String concatenation videos. And for using the "jon" function, you may want to review the Splitting and Joining video.
dublinruncommutr
5,944 Pointsdublinruncommutr
5,944 PointsHi Josiah, In the second line you are splitting the string into a list using the .split() method. Basically you are taking a string and returning a list with this method by "splitting" it via a delimiter (in this case a semi-colon).
Think of the .join() method as performing the opposite functionality: it takes a string and joins it with a list based on a specific delimiter. Both of these are string methods because they are operating on strings - but they return different things: .split returns a list and .join returns a string.
Now let's talk about the .format string method. This takes one or more variables and inserts them into the string where your curly braces are located. For example:
would result in:
My name is Jeff.
Now to come full circle, your .split() looks good. Take a look at doing your .join() next and if it's helpful try putting it into it's own variable before using .format() to build your "menu".