列表这样表示是什么意思

来源:1-1 导学

www974

2017-10-17

word[:]


遍历:

http://img1.sycdn.imooc.com/szimg/59e5a36a0001c06e03230192.jpg


我自己写的是 for(n in words):


结果就死循环了,为什么写成words[:] 就不死循环了?

写回答

3回答

慕函数7353421

2017-10-17

因为words[:]切片之后words和words[:]指向的就不是同一个地址了!

用words的情况下:

在for循环里面只要一遇到长度为6的元素,就往words里面插一个数据,比如现在是遍历到words中第二个元素words[1],结果你插一个进去,那么现在的words[1]就是元素插入之前的words[0],下次又遍历到之前的words[1],就这样陷入死循环了

用words[:]的情况下:

你插入的元素到了words里,而words[:]中的元素并没有发生改变,所以不会死循环

2
1
www974
666
2017-10-20
共1条回复

7七月

2017-10-18

楼下的这个基本功很扎实,点个赞,正确的解答。

0
0

douchen

2017-10-17

把你自己写的 for(n in words):  中的括号去掉试试?

改成for n in words:

0
2
www974
for(n in words): 这样写应该就是直接报错了
2017-10-17
共2条回复

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14596 学习 · 4469 问题

查看课程