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 Collections (Retired) Dictionaries String Formatting with Dictionaries

hi, I have checked my work in the work space, why dose the strings split to letters? or what is the correct code?

what is the correct code?

strings.py
dicts = [
    {'name': 'Michelangelo',
     'food': 'PIZZA'},
    {'name': 'Garfield',
     'food': 'lasanga'},
    {'name': 'Walter',
     'food': 'pancakes'},
    {'name': 'Galactus',
     'food': 'worlds'}
]

string = "Hi, I'm {name} and I love to eat {food}!"

def string_factory(dicts,string):
  new_list=[]
  for item in dicts:
    new_list.extend(string.format(**item))
  return new_list

1 Answer

Dan Johnson
Dan Johnson
40,532 Points

extend will iterate through the collection passed in, adding each element as a separate item (each character in this case). append is what you're looking for, it will add whatever you pass to it as it's own element.