一个有趣的python小问题
程序员文章站
2022-07-15 07:58:10
...
今天逛我大CSDN时发现了一个很有趣的小问题,拿出来与大家分享一下。
def f(x, l=[]):
for i in range(x):
l.append(i*i)
print(l)
f(2)
f(3, [3,2,1])
f(3)
在jupyter上运行以上代码,会出现什么结果,你们猜一下。
A:
[0, 1] [3, 2, 1, 0, 1, 4] [0, 1, 4]
B:
[0, 1] [3, 2, 1, 0, 1, 4] [0, 1, 0, 1, 4]
选一下吧。
正确答案是B,为什么呢。
首先,这三个函数是放在一起的,而不是分别运行的啊,这一点要注意。
其次,第二个函数,没有在第一个l列表的基础上进行添加操作,是因为人家传了第二个参数,而第三个则默认还是使用第一个函数建立的列表,所以会出现这种情况。
其实,我感觉这个小问题很值得研究啊,虽然不知道有哪些可以研究的(希望路过的大神不吝赐教)。
上一篇: c++ 如何输出8进制和十六进制和二进制
下一篇: 汇编-十六进制转二进制输出