|  |      1Pagliacii      2020-05-13 19:24:05 +08:00  1 前者是遍历列表元素,后者是遍历 [0, len(list)) 序列的元素 | 
|  |      2wenqiang1208      2020-05-13 19:24:15 +08:00  1 。。。。  for i in list : i 是 list 里面的元素的值 for i in range(len(list)) :i 是 range 新生成迭代器( 0,1,2,3,4 )里的元素 | 
|  |      3GTD OP 哦哦  我明白了,for i in list 的话,是把 i 变成 list 的每一个,然后每次增加一个,按 1,2,3,4,5 来。in range 的话,就一定是从 0-5 这样来 | 
|  |      4GTD OP 不好意思我丢人了。。。好久没写 Python,刚刚突然发现用 range 可以,直接 in list 不行,哈哈哈 | 
|  |      5Pagliacii      2020-05-13 19:26:19 +08:00 只是恰好你的列表元素是数字而已 | 
|  |      6cz5424      2020-05-13 19:28:48 +08:00 via iPhone  1 for i in range(1, 5)举一反三 | 
|      9arrow8899      2020-05-13 20:02:12 +08:00 还可以这样写 for index, value in enumerate(list): print (index, value) 效率更高,也更简洁 | 
|  |      10crella      2020-05-13 20:02:41 +08:00 via Android 实现了 iterable 就行(好像是这样吧 | 
|  |      11crella      2020-05-13 20:04:11 +08:00 via Android 感觉动态语言的发展方向都差不多,啥时候 nodejs 也能支持 for 或者 each 迭代?( | 
|  |      12crella      2020-05-13 20:10:35 +08:00 sorry,又暴露了我的无知,js 对应的是 for (let value of/in list){...} | 
|  |      13l1nyanm1ng      2020-05-13 20:12:04 +08:00 @crella 直接用 Array.prototype.forEach 或者 Array.prototype.map 岂不美哉,感觉都好久没用过命令式的 api 了 | 
|      14zhanglintc      2020-05-13 22:01:51 +08:00 我还以为是在问 list 和 generator 的区别, 结果是这个. list 里放点别的东西差别就很明显了嘛. | 
|  |      15sudoy      2020-05-13 23:10:11 +08:00  1 楼上说的对,你放点别的东西,别放 12345,这样一眼就看出来。一个是值,一个是 index mylist = ['google', 'facebook', 'microsoft'] for x in mylist: print(x) # 输出结果应该是 google, amazon, facebook for y in range(len(mylist)): print(y) # 输出结果应该是 0, 1, 2 | 
|  |      16Enying      2020-05-14 00:05:13 +08:00 via Android 大家都是正解 | 
|  |      17sunmker      2020-05-14 09:23:42 +08:00 前者是遍历,后者是取下标,list 有下标,别的嘞? | 
|  |      1924bit      2020-05-14 10:25:23 +08:00 本质上都是一样的,只要实现了迭代器协议就可以用 for ... in 语法,range 对象迭代时返回的是数字而已 | 
|  |      20llsquaer      2020-05-14 11:32:32 +08:00 for i in list:   print('i') 表示遍历列表,并打印 i 的值( 比如 a b c d).你的案例看不出区别 for i in range(len(list)): print('i') 表示遍历的次数,并打印迭代后的数值 当然 你问题 有 list 和 range ...list 是列表,,而 range 简单理解为计数用的. | 
|  |      21northisland      2020-05-14 17:30:03 +08:00 python3 里 range 返回的是迭代器,和 list 不一样,运行时才生成。 python2 里木有什么区别 |