我必须编写一个执行以下操作的功能'swaplist':
在输入2列表中给出:
列表1,列表2
例如:
[s4,s6]
[4,2,3,6,5]
*请紧记[s5]不能输入
返回一个列表,其中4与下一个数字交换,6与下一个数字交换
[2,4,3,5,6]
这是我写的代码:
def swaplist(list1,list2):
list3=list2
for i in list3:
if ('s'+str(i)) in list1:
a=list3.index(i)
b=a+1
list3[a],list3[b]=list3[b],list3[a]
return list3
我尝试运行此代码,但出现以下错误:
IndexError: list index out of range
有人知道如何解决此问题吗?
谢谢你们的时间
我必须编写一个函数'swaplist',该函数执行以下操作:在输入2中给出列表:list1,list2,例如:[s4,s6] [4,2,3,6,5] *请紧记[s5无法在输入中给出],返回列表在...
您正在遍历列表时修改列表,这将导致不必要的行为。
如JohanC所述,问题是您更改了循环的列表。您可以先复制list2,然后再更改list3。
这看起来像是一个作业问题。