MIQIWEI 发表于 2020-5-15 21:54:10

python的list中有多个元素,其中两个元素互换位置怎么写呢?谢谢大佬们!!

题目:完成swap_elements(numbers_list,number1,number2)函数,该函数传递了三个参数:数字列表和两个整数值。如果两个整数值(第二个和第三个参数)都是数字列表的元素,则该函数交换两个值。如果两个整数值都不是数字列表的元素,则该函数不执行任何操作。
注意的点Note:该函数不返回结果,而是对参数列表进行更改。
          如果出现多个要更改的值,则更改最接近数字列表开头的值。
测试Test:list1 =
         swap_elements(list1, 9, 6)
         print(list1)
最后输出的结果是:

Twilight6 发表于 2020-5-15 21:56:03

本帖最后由 Twilight6 于 2020-5-15 21:58 编辑

举个栗子:

a =
a,a = a,a
# 这样就可以让位置参数0的和位置参数为2 的替换数值了~~~

这样即可

帮助到你的话给个最佳吧{:10_287:}

永恒的蓝色梦想 发表于 2020-5-15 21:57:47

本帖最后由 永恒的蓝色梦想 于 2020-5-15 22:23 编辑

def swap_elements(k,a,b):
    try:
      a=k.index(a)
      b=k.index(b)
      k,k=k,k
    except:
      pass

MIQIWEI 发表于 2020-5-15 21:58:32

Twilight6 发表于 2020-5-15 21:56
这样即可

帮助到你的话给个最佳吧

嗯嗯 我试过了 但是我的代码好像哪里有错误运行不出来
def swap_elements(numbers_list, number1, number2):
    new_list=[]
    for number in range(len(numbers_list)):
      if (number1 not in numbers_list) or (number2 not in numbers_list):
            return numbers_list

      elif (number1 in numbers_list) and (number2 in numbers_list):
            numbers_list,numbers_list=numbers_list,numbers_list
            new_list.append(number)
      
            return numbers_list

wuqramy 发表于 2020-5-15 21:58:50

简单明了
def swap_elements(list1,a,b):
    list1.index(a) = b
    list1.index(b) = a
    return list1

永恒的蓝色梦想 发表于 2020-5-15 22:00:23

wuqramy 发表于 2020-5-15 21:58
简单明了

报错之王,就是你了{:10_256:}

wuqramy 发表于 2020-5-15 22:00:58

MIQIWEI 发表于 2020-5-15 21:58
嗯嗯 我试过了 但是我的代码好像哪里有错误运行不出来
def swap_elements(numbers_list, number1, num ...

这样即可
def swap_elements(numbers_list, number1, number2):
    new_list=[]
    for number in range(len(numbers_list)):
      if (number1 not in numbers_list) or (number2 not in numbers_list):
            return numbers_list

      elif (number1 in numbers_list) and (number2 in numbers_list):
            numbers_list,numbers_list=numbers_list,numbers_list
            new_list.append(number)
      
    return numbers_list

Twilight6 发表于 2020-5-15 22:01:15

本帖最后由 Twilight6 于 2020-5-15 22:02 编辑

MIQIWEI 发表于 2020-5-15 21:58
嗯嗯 我试过了 但是我的代码好像哪里有错误运行不出来
def swap_elements(numbers_list, number1, num ...

哦哦哦我看见测试的了 我试试

wuqramy 发表于 2020-5-15 22:01:37

永恒的蓝色梦想 发表于 2020-5-15 22:00
报错之王,就是你了

{:10_296:}去改代码了

MIQIWEI 发表于 2020-5-15 22:05:12

永恒的蓝色梦想 发表于 2020-5-15 21:57


谢谢大佬!!!我就是中间那个index没写!感谢!!!
页: [1]
查看完整版本: python的list中有多个元素,其中两个元素互换位置怎么写呢?谢谢大佬们!!