python返回值:调用函数之后为何返回原值

Python返回值问题:请问这个地方为何返回原值(如下图),求解答!

img

都没有对s数组进行操作,当然还是原值咯

函数fun()没有对s进行修改,并且在函数中修改列表也有一些限制;

如果要打印第17行函数的返回结果,需要用一个变量来接收fun()函数的返回值,然后再打印它。

测试如下:

参考链接:
https://www.cnblogs.com/paulwhw/p/8899127.html



def fun(lst):
 
    add = []
    even = []

    for i in lst:
        if i%2:
            add.append(i)
        else:
            even.append(i)
   
    # https://www.cnblogs.com/paulwhw/p/8899127.html
    #lst.append(10)
    #lst[9]=11
    return add,even

s=[1,2,3,4,5,6,7,8,9]
print(s)

#  用一个变量来接收调用函数fun()的后的返回值
result=fun(s)
print(s)
# 打印返回结果
print(result)

# 这里print()函数直接打印了调用fun()后的返回结果
print(fun(s))


img

你的print函数截个图

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7730091
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:【机器学习实例】利用python实现梯度下降和逻辑回归原理(Python详细源码:预测学生是否被录取)
  • 同时,你还可以查看手册:python- 嵌套的列表推导式 中的内容
  • 除此之外, 这篇博客: 数据结构与算法(Python版)十五:无序表抽象数据类型及Python实现中的 所以无序表必须要有对第一个节点的引用信息 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 设立一个属性head,保存对第一个节点的引用空表的head为None
    在这里插入图片描述

  • 您还可以看一下 Toby老师的python机器学习-乳腺癌细胞挖掘课程中的 如何创建python虚拟编程环境-避免项目包版本冲突(选修)小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    问题: 如何使用Python删除列表中的指定索引? 解决方案: 你可以使用pop()方法来删除列表中的指定索引。该方法还可以返回被删除的元素。

    具体步骤如下: 1. 创建一个列表,并赋值给变量mylist。 2. 调用pop()方法,传入要删除的索引作为参数。 3. 打印删除指定索引后的列表。

    示例代码:

    mylist = ["川川一号", "川川二号", "川川三号","川川四号"]
    deleted_item = mylist.pop(2)
    print(deleted_item)
    print(mylist)
    

    参考资料段落0给出了一个示例,其中删除了索引为2的元素。

    如果不指定索引,则pop()方法将删除最后一个元素。

    示例代码:

    mylist = ["川川一号", "川川二号", "川川三号","川川四号"]
    deleted_item = mylist.pop()
    print(deleted_item)
    print(mylist)
    

    这个示例中未指定索引,所以删除了列表中的最后一个元素。

    请注意,pop()方法会改变原始列表,并且还可以将被删除的元素返回,以便可以进一步处理。