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 trial

Python Python Basics (2015) Python Data Types Use .split() and .join()

Subramanian K
Subramanian K
3,103 Points

Join() and format() Issue. It is telling i am not getting the right selection from sundaes variable.

Alright, let's finish making our menu. Combine the sundaes list into a new variable named display_menu, where each item in the list is rejoined together by a comma and a space (", "). Then reassign the menu variable to use the existing variable and .format() to replace the placeholder with the new string in display_menu. If you're really brave, you can even accomplish this all on the same line where menu is currently being set.

banana.py
available = "banana split;hot fudge;cherry;malted;black and white"
sundaes = available.split(";")
display_menu = sundaes.join(', ')
menu = "Our available flavors are: {}.".format(', '.join(sundaes))
Tim Betz
Tim Betz
15,146 Points

In line three you are not using the join method correctly. You have to use the method on a string and give it the iterable in parenthesis, like you did in line four.

Subramanian K
Subramanian K
3,103 Points

I still confused with the problem statement. I guess

1 Answer

akhter ali
akhter ali
15,778 Points
>>> available = "banana split;hot fudge;cherry;malted;black and white"
>>> sundaes = available.split(";")
>>> display_menu = sundaes.join(', ')
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    display_menu = sundaes.join(', ')
AttributeError: 'list' object has no attribute 'join'
>>> menu = "Our available flavors are: {}.".format(', '.join(sundaes))
>>>

You cannot join list items. As stated by others line three sundaes is a list item that cannot be joined. I would use a for loop within a function or within the format function list out all of the items in the list and add them into the menu text.

Subramanian K
Subramanian K
3,103 Points

@akhter ali Please check this answer. Still throwing error

available = "banana split;hot fudge;cherry;malted;black and white"
sundaes = available.split(";")
display_menu = sundaes.join(", ")
menu = "Our available flavors are: {}.".format(display_menu)