【问题标题】:Challenge using python insert method使用python插入方法挑战
【发布时间】:2020-12-24 23:30:48
【问题描述】:

我正在尝试一些 python 列表练习问题。我试图在索引“-1”处插入一个新名称 mike,但在将输出打印到屏幕时,我注意到它默认为晚餐列表中的另一个位置(索引 (-2))。

dinner = ['yemi', 'bimpe', 'kola', 'kunle', 'bola', 'shola', 'ola']

invite = f"{dinner[0].title()}, would you be available to attend our dinner party?"
print(invite)

invite = f"{dinner[-1].title()}, would you be available to attend our dinner party?"
print(invite)

invite = f"{dinner[-3].title()}, would you be available to attend our dinner party?"
print(invite)

invite = f"{dinner[3].title()}, would you be available to attend our dinner party?"
print(invite)

invite = f"{dinner[1].title()}, would you be available to attend our dinner party?"
print(invite)

not_coming = f"{dinner[0].title()} said she can't make the dinner party tonight and has to be swapped with {dinner[1].title()}"
print(not_coming)

not_coming = f"{dinner[-1].title()} said she can't make the dinner party tonight and has to be swapped with {dinner[-2].title()}"
print(not_coming)

dinner.insert(0, "kingsley")
print(dinner)

dinner.insert(-1, "mike")
print(dinner)

为什么会这样?

列表名称是“晚餐”

【问题讨论】:

    标签: python list class methods insert


    【解决方案1】:

    list.insert 状态的文档

    在给定位置插入一个项目。第一个参数是要插入的元素的索引

    所以如果你使用索引-1,它会在最后一个之前插入


    要插入最后一个,请使用其中之一

    dinner.insert(len(dinner), "mike")
    dinner.append("mike")
    

    【讨论】:

    • 非常感谢。我现在明白了。
    • @yuppiesam 你可以考虑接受这个答案;)