Converting a list into comma-separated string with “and” before the last item - Python 2.7

前端 未结 10 1047
借酒劲吻你
借酒劲吻你 2020-12-18 22:19

I have created this function to parse the list:

listy = [\'item1\', \'item2\',\'item3\',\'item4\',\'item5\', \'item6\']


def coma(abc):
    for i in abc[0:-         


        
10条回答
  •  挽巷
    挽巷 (楼主)
    2020-12-18 22:55

    def oxford_comma_join(l):
        if not l:
            return ""
        elif len(l) == 1:
            return l[0]
        else:
            return ', '.join(l[:-1]) + ", and " + l[-1]
    
    print(oxford_comma_join(['item1', 'item2', 'item3', 'item4', 'item5', 'item6']))
    

    Output:

    item1, item2, item3, item4, item5, and item6
    

    Also as an aside the Pythonic way to write

    for i in abc[0:-1]:
    

    is

    for i in abc[:-1]:
    

提交回复
热议问题