在Python中将项目插入列表,但不覆盖

时间:2016-12-04 21:42:23

标签: python

我需要在列表的末尾添加“和”一词,如

a,b和c

到目前为止,我已经整理了逗号。我已经看过如何获取列表中的最后一项

Getting the last element of a list in Python

但不想覆盖或替换最后一项,只需在其前面添加一个单词即可。这就是我到目前为止所做的:

listToPrint = []
while True:
    newWord = input('Enter a word to add to the list (press return to stop adding words) > ')
    if newWord == '':
        break
    else:
        listToPrint.append(newWord)
print('The list is: ' + ", ".join(listToPrint), end="")

好像它不太明显,我对python很新,而且这是在PyCharm中编译的。

先谢谢

1 个答案:

答案 0 :(得分:1)

对您的列表使用负片切片,如下所示:

', '.join(listToPrint[:-1]) + ', and ' + listToPrint[-1]

使用format()功能:

'{}, and {}'.format(', '.join(listToPrint[:-1]), listToPrint[-1])

format()将第{}个值替换为', '.join(listToPrint[:-1]),将第二个{}替换为值listToPrint[-1]。有关详细信息,请在此处查看其文档format()

<强>输出:

Enter a word to add to the list (press return to stop adding words) > 'Hello'
Enter a word to add to the list (press return to stop adding words) > 'SOF'
Enter a word to add to the list (press return to stop adding words) > 'Users'
# ... 
>>> print('{}, and {}'.format(', '.join(listToPrint[:-1]), listToPrint[-1]))
Hello, SOF, and Users