乐愚社区Beta

 编程语言  >  0基础学python(十二)

0基础学python(十二)

P2P  L3  • 2020-11-14 • 回复 0 • 只看楼主举报    

讲一下容易出错的点

for 循环进行遍历时,尽量不要对遍历的对象进行修改,尤其是删除

a= [1,2,3,4,5,6,7]
for i in a :
    if i == 2 or i == 3:
        a.remove(i)
print(a)

  比如上面的输出的结果是[1,3,4,5,6,7],我们想的是删除2和3,但是它只删除了2

  大家都排过队吧,就像上学那会食堂排队一样,你前面的人等的不耐烦了不排了走了,那你是不是会往前走,一样的道理,当你把2删了,3就往前走了,理论上它已经遍历了第二个元素所以3就不会被删除了

a= [1,2,3,4,5,6,7]
b =[]
for i in a:
	if i == 3 or i ==4:
		b.append(i)
for i in b:
	a.remove(i)
print(a)

解决方法如上

然后再讲一下地址

a = 100以这个为例,电脑是先开辟一片内存,然后把100放到那片内存,让a指向那边内存,形象一点说,今天单位来了一个美女,大长腿,36D??这些就相当于数据,而你的脑子里会对这个人有个印象这就相当于内存,后来你从同事口中得知这个美女叫小美,然后你的脑子就把小美和美女的特点对应起来了,这就相当于指向

a = [1]
b = a
a.append(2)
print(b)

  因为a和b指向的是同一个地址,所以对列表增加元素时,b也会增加

  函数和类同样如此,函数和类的内容扔进内存里,让函数名或类名指向那片地址

  下次讲一下网页基础内容然后讲爬虫


还没注册帐号?快来注册社区帐号,和我们一起嗨起来!
关于本社区

集各类兴趣爱好于一身的轻量化交流社区,在此您可以和他人一起分享交流您觉得有价值的内容,社区鼓励大家发表原创内容,为社区添砖加瓦!

发帖奖励 → 社区版规 → 招聘版主 →
推荐版块
扫描二维码下载社区APP
回到顶部