我想知道是否有更多pythonic 方法将元素添加到列表中,具体取决于(默认)索引。如果索引超出范围会发生什么。 (我来自Java)
self.releases = []
def add_release(self, release, index=-1):
list_length = len(self.releases)
if index < 0:
# add element at the end of the list
self.releases.append(release)
elif index < list_length:
# add element at the given index
self.releases.insert(index, release)
else:
# index is out of bound ~ what will happen when an element will be added at this index?
pass
提前致谢。
答案 0 :(得分:6)
将索引保留在-1
,然后捕获异常:
def add_release(self, release, index=-1):
self.releases.insert(index, release)
当您使用带有负索引的.insert()
时,将相对于列表的长度插入该项目。越界指数重新回到界限;超出长度的插入与追加相同,在0索引插入0之前插入。
答案 1 :(得分:2)
List.append()
只接受一个参数 - 追加的值到列表中。如果要在任意位置插入,则需要List.insert()
,它将超出范围的位置参数视为对append
的调用。
答案 2 :(得分:0)
尝试查看插入方法
a=[]
a.insert(index, value)
如果你确定自己没有出界,你也可以
a[index] = value
请注意,如果有任何
,它将覆盖给定索引处的值