如何在列表的最后一个元素之前添加“和”?

时间:2017-06-08 10:16:15

标签: python

我正在制作这个程序,它需要打印出一个列表,如果列表更正确,我更愿意。我想知道是否可以在列表的最后一个元素之前添加“和”以使其看起来正确。谢谢。

=IF(B2 >0,NOW(),"")

2 个答案:

答案 0 :(得分:4)

您可以使用函数以您希望的方式构建联接列表:

def join_and(items):
    return ', '.join(items[:-1]) + ' and '+items[-1]

即,使用逗号加入除最后一项之外的所有项目,然后添加'和'在最后一项之前。 (您可以随意添加牛津逗号。)

>>> join_and(['alpha', 'beta', 'gamma'])
'alpha, beta and gamma'

如果您希望函数为长度为1或0的列表提供适当的结果,您可以执行以下操作:

def join_and(items):
    if len(items)==0:
        return ''
    if len(items)==1:
        return items[0]
    return ', '.join(items[:-1]) + ' and '+items[-1]

答案 1 :(得分:1)

试试这个:

  • 加入你正在做的所有项目,除了最后一项。
  • 用and和。
  • 明确地连接最后一项

input('What would you liketo eat? Your choices are {}.'.format( ', '.join( healthItems[:-1]) + ' and '+healthItems[-1]))