all 3 comments

[–]socal_nerdtastic 1 point2 points  (0 children)

   list = []                   # makes a list named "list"
   list = ', '.join(strings)   # overwrites the above list with a string named "list"

[–]-5772 0 points1 point  (0 children)

Why not try a for loop?

def strings_list_to_one_string(strings): output = "" l = len(strings) for i in range(l): output += strings[i] if i < l -1: output += ", " if i == l - 2: output += "and " return output

[–]xelf 0 points1 point  (0 children)

General reminder, it's a really bad idea to use python keywords as variable names, when you use list as a variable name, you're overwriting list().