这篇文章记录学习python过程中遇到的坑(逐步更新)
<一>python 引用类型赋值:
引用类型赋值的时候一定要采用拷贝的方式,不可直接赋值
例如:
list1=[1,2,3,4] list2=list() list2=list1
此时如果对list2进行操作,list1也会受到影响
如果不想list1,list2之间相互影响,应该采用如下方式:
list2=list1[:]
<二>生成器对象的数据被调用过以后就不再保存
例如:
result=map(lambda x:x*x,range(5)) print(len(list(result)) print(len(list(result))
执行这段代码按道理两次输出的结果应该相同,但是其实不然,
第一个print打印出的结果是正常值,此后result就变成了一个空
对象。所以,如果需要多次使用生成器的值,应该用一个变量
保存起来后再用