我需要在列表的末尾添加“和”一词,如
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中编译的。
先谢谢
答案 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