如果我写这个,我必须编写一个可以工作的函数:
s = ["John", "Bertha", "Janna", "Daniel", "Emma"]
change(s,2,4)
print(s)
["John", "Bertha", "Emma", "Daniel", "Janna"]
我基本上必须定义一个函数来改变列表中2个元素的位置,其中a, b
是它们的索引。
我尝试过这样做,但我似乎无法找到一个好的解决方案:
def change(s,a,b):
a,b = s.index(a), s.index(b)
s[b], s[a] = s[a], s[b]
这显然不起作用,我不知道如何更改2个元素的位置,其中a, b
是它们的索引,我知道如何切换2个项目,但不知道如何用一个功能..如何继续关于这一个?
答案 0 :(得分:3)
a
和b
是您需要切换的项目的索引。如果您已经知道它们的位置,那么您可以(应该)删除对list.index
的调用:
>>> s = ["John", "Bertha", "Janna", "Daniel", "Emma"]
>>> def change(s, a, b):
... s[b], s[a] = s[a], s[b]
...
>>> change(s, 2, 4)
>>> s
['John', 'Bertha', 'Emma', 'Daniel', 'Janna']
>>>