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

前端 未结 10 1079
借酒劲吻你
借酒劲吻你 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 23:05

    Correction for Craig’s answer above for a 2-element list (I’m not allowed to comment):

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

    Results:

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

提交回复
热议问题