更改lis中两个元素位置的函数

2024-09-27 23:24:15 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我这样写的话,我必须写一个可以工作的函数:

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个项,但不知道如何使用函数进行切换。。这件事怎么样?你知道吗


Tags: 函数元素列表index定义defchangejohn
1条回答
网友
1楼 · 发布于 2024-09-27 23:24:15

ab是需要切换的项的索引。如果您已经知道它们在哪里,那么您可以(应该)删除对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']
>>>

相关问题 更多 >

    热门问题