我应该用和作为输入的对象替换元组列表中元组的最后一个元素,我试图编写这段代码,但在第4行出现了“列表分配索引超出范围”错误。我该怎么修
def replaceLast (tupleList, object):
for i, tup in enumerate(tupleList):
lis = list(tup)
lis[-1] = object
tupleList[i] = tuple(lis)
return tupleList
lT=[(1,),(2,3),(),(7,3)]
replaceLast(lT,11) #=> [(11,), (2, 11), (11,), (7, 11)] -> this should be the result
当您有空元组时会生成问题,那么您的变量
lst
将是一个空列表,因此使用lst[-1]
没有意义,这将生成错误,一个简单的修复方法是检查是否为空列表:问题是列表
lT
中的空元组没有最后一个元素,因此无法使用lst[-1]
访问它创建新列表,而不是更改列表:
相关问题 更多 >
编程相关推荐