我是靠谱客的博主 体贴电脑,最近开发中收集的这篇文章主要介绍android 清空list集合,list.clear()与list = []有何不同?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

该功能的预期目标foo是将作为参数提供的数字添加到列表中,如果该数字为0,则重置列表。首先我写了这个程序:

def foo(n, bar = []):

if n == 0:

bar = []

print("list empty")

else:

bar.append(n)

for y in bar:

print(y, end=', ')

print()

foo(5)

foo(3)

foo(0)

foo(6)

输出:

5,

5, 3,

list empty

5, 3, 6,

但看起来却被bar = []忽略了。然后我改变bar = []了bar.clear(),它按照我的想法工作:

def foo(n, bar = []):

if n == 0:

bar.clear()

print("list empty")

else:

bar.append(n)

for y in bar:

print(y, end=', ')

print()

foo(5)

foo(3)

foo(0)

foo(6)

输出:

5,

5, 3,

list empty

6,

我不明白,为什么bar.clear()从工作differntlybar = []自clear()应

从集合中删除所有元素。

所以做同样的事情bar = []。

编辑:我不认为我的问题是“最低惊讶”和可变默认参数的重复,我知道

默认值仅计算一次。

(来自官方教程)但是我要问的是,为什么bar = []不编辑(在这种情况下是清除的)列表,而附加和清除的是呢?

最后

以上就是体贴电脑为你收集整理的android 清空list集合,list.clear()与list = []有何不同?的全部内容,希望文章能够帮你解决android 清空list集合,list.clear()与list = []有何不同?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(76)

评论列表共有 0 条评论

立即
投稿
返回
顶部