添加和后,最后一个列表项出现在新列表中

时间:2017-06-11 16:22:16

标签: python list python-3.x

我正在学习Python并遇到此代码的问题。我使用for循环遍历列表,我需要它在最后一项之前打印单词'and'。我有它工作,但不是我想要的方式。

而不是'and ' + last item出现在列表中,当我打印时它出现在它之外。有人能给我一个关于我做错了什么的线索吗?

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)
for i in range(1):
    print(listToPrint[0:-1], end =', ' + 'and ' + listToPrint[-1])

2 个答案:

答案 0 :(得分:2)

你可以简单str.join()一段你的单词没有最后一个并打印最后一行:

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

答案 1 :(得分:0)

以下代码执行您似乎想要的内容。

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)
listToPrint[-1] = "and " + listToPrint[-1]

print(listToPrint)