你如何添加"和"在列表中的最后一项之前?和循环列表包含新单词

时间:2016-11-26 16:09:54

标签: python list python-3.x loops

厨房里的东西

listToPrint = ['pots', 'pans', 'utensils', 'plates', 'cups', 'glasses']
while True:
    newWord = input("Enter a word to add to the list (press return to stop adding words) > ")
    if newWord == "0":
        break
    else:
        listToPrint.append(newWord)

3 个答案:

答案 0 :(得分:1)

我想,你想构建一个带有复合主题(单数主题的结合)的句子,比如" Sam,Bert和I"
让我们说,用户只输入了" dish" 这个词。 然后,我们可以使用以下方法(使用list.insert()方法)简单地构造最终句子:

listToPrint = ['pots', 'pans', 'utensils', 'plates', 'cups', 'glasses']
while True:
    newWord = input("Enter a word to add to the list (press '0' to stop adding words) > ")
    if newWord == "0":
        break
    else:
        listToPrint.append(newWord)

listToPrint.insert(-1, 'and')     # inserts next to last element value

print(', '.join(listToPrint[:-2]) +' '+ ' '.join(listToPrint[-2:]))

输出:

pots, pans, utensils, plates, cups, glasses and dishes

答案 1 :(得分:0)

您只需要在循环列表时检查当前项目是否是最后一项。

如果是,请添加 " and " + [current item] 如果没有,请添加 ", " + [current item](在第一项上跳过逗号)

答案 2 :(得分:0)

如果愿意的话,点击[-1]将从列表中选择最后一个成员,或从后面选择第一个成员。 另外,如果你想要一个空字符串来摆脱循环,你可以像我一样。 空字符串返回False

listToPrint = ['pots', 'pans', 'utensils', 'plates', 'cups', 'glasses']
while True:
    newWord = input("Enter a word to add to the list (press return to stop  adding words) > ")
    if not newWord:
        listToPrint[-1] = 'and ' + listToPrint[-1]
        break
    else:
        listToPrint.append(newWord)