Q:

Python3 - print a string from a list, seperated by commas with an 'and' before the last item in a list

I'm looking for a simpler (not neccessarily more pythonic or better) way of printing out a list of items in Python3, with each item seperated by a comma, except for the last item that would use an 'and'. 
So far I have
items=['foo','bar','baz']
print(','.join(items[0:-1]),'and',items[-1])

However, I want to use this as part of a resource for students aged 12-13, and it's not exactly the most readable code. 
edit: removed list comprehension. 

A:

You can use the format method:
 print("{} and {}".format(",".join(items[:-1]), items[-1]))

The first {} will be filled with the join of all the element but the last one and then you just print the last element. 

A:

This may be a little easier to read:
items=['foo','bar','baz']

for i, item in enumerate(items):
    if i == len(items) - 1:
        print('and ' + item)
    else:
        print(item + ',',end=' ')

>>> foo, bar, and baz

Updated for Python3, and I also came up with this (very similar):
items=['foo', 'tri', 'baz']

s = ''
for i, item in enumerate(items):
    if i == len(items) - 1:
        s += 'and {}'
    else:
        s += '{}, '

print(s.format(*items))

