鱼C论坛

 找回密码
 立即注册
查看: 1182|回复: 3

列表,数组相关问题

[复制链接]
发表于 2020-6-23 18:38:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
list1 = [1, [1, 2, ['小甲鱼']], 3, 5, 8, 13, 18]
   print(list1.copy())
    list1.clear()
    print(list1)
为什么可以直接打印list1.copy() ,但是直接打印list1.clear() 就不行
不仅仅这2个,其他也有,为啥有的可以可以直接打印,有的不可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-23 18:40:26 | 显示全部楼层
本帖最后由 heidern0612 于 2020-6-23 18:42 编辑

list1.clear()是个方法,它没有返回值。

它不是操作完后返回实际的列表,而单纯的就是个方法,是个功能而已。

就像你说“我跑”,“我”可以实例出来一个人,“跑”的话你怎么实例出来?


一般情况下,方法和功能(动态)都没办法具现出来,而只有实施这个方法的物体(静态)可以出来。

这也是两者的区别,等你学到函数的时候自然就明白区别了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-23 18:51:11 | 显示全部楼层
本帖最后由 Twilight6 于 2020-6-23 20:06 编辑



列表绝大多数的方法都是在列表本身上进行改变的,没有返回值,但是 Python 默认会让其返回 None

比如列表的  remove() 、extend()、clear() 、append() 、reverse()、insert() 等,但是要注意 pop() 这个方法会有返回值哈

copy() 函数,它是浅拷贝的作用,在这里而言是拷贝原列表返回新的一个列表哈,

所以 copy() 对列表使用,这里会打印出列表,也就是说, copy() 函数是有返回值的。

而你 print(list1.clear()) 是在原本的列表上进行的 所以没有返回值 Python 默认返回一个 None 即是 空的意思

因为你上面对列表使用了 clear 方法,导致原列表被清空,所以最后你打印的列表是一个空列表。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-24 08:40:54 | 显示全部楼层
heidern0612 发表于 2020-6-23 18:40
list1.clear()是个方法,它没有返回值。

它不是操作完后返回实际的列表,而单纯的就是个方法,是个功能 ...

谢谢,大约上明白了~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 07:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表