insert() 函数以相反的顺序排列项目
insert() function with items in reverse order
我是 python 的新手,想了解它的一切。对于以下给定的代码片段,我有一些不明白的地方:
list = []
for i in range(5):
list.insert(0,i+1)
print(list)
为什么 insert(0, i+1) 给出与 append(i+1) 相同的输出,但顺序相反?我不明白仅使用逗号分隔的 0 背后的语法/原因。欢迎提出任何想法!
编辑:我看不出 append 方法(在列表末尾插入 0 1 2 3 4 5)和 insert(0,i+1) 之间有什么区别,后者在列表的开头。列表是空的,怎么倒序了?
python 文档对此进行了解释
https://docs.python.org/3/tutorial/datastructures.html?highlight=insert
无论如何,这个 ( https://docs.python.org/3/ ) 是一个搜索的好地方,尽管有时在堆栈溢出中搜索可能 return 更容易理解更快
list.insert(pos, val)
在位置 pos
之前插入值 val
在位置 0 之前插入意味着要插入的元素将是列表的第一个元素。
而 a.append(x)
(相当于 a.insert(len(a), x)
)将新元素追加到列表的末尾。
因此顺序颠倒了。
我是 python 的新手,想了解它的一切。对于以下给定的代码片段,我有一些不明白的地方:
list = []
for i in range(5):
list.insert(0,i+1)
print(list)
为什么 insert(0, i+1) 给出与 append(i+1) 相同的输出,但顺序相反?我不明白仅使用逗号分隔的 0 背后的语法/原因。欢迎提出任何想法!
编辑:我看不出 append 方法(在列表末尾插入 0 1 2 3 4 5)和 insert(0,i+1) 之间有什么区别,后者在列表的开头。列表是空的,怎么倒序了?
python 文档对此进行了解释 https://docs.python.org/3/tutorial/datastructures.html?highlight=insert
无论如何,这个 ( https://docs.python.org/3/ ) 是一个搜索的好地方,尽管有时在堆栈溢出中搜索可能 return 更容易理解更快
list.insert(pos, val)
在位置 pos
val
在位置 0 之前插入意味着要插入的元素将是列表的第一个元素。
而 a.append(x)
(相当于 a.insert(len(a), x)
)将新元素追加到列表的末尾。
因此顺序颠倒了。