Python 多 for in 问题

2017-01-14 23:44:31 +08:00
 imcocc

list=["a","b","c","d"]

for n in xrange(0,4,1):

如何 打印出

0,a

1,b

2,c

3,d

测试了几种都不对,不知道怎么写,请兄弟们指导一下。感谢

3572 次点击
所在节点    Python
16 条回复
lhbc
2017-01-14 23:47:06 +08:00
print(n,list[n])
zeroten
2017-01-14 23:47:52 +08:00
list=["a","b","c","d"]

for k,v in enumerate(list):
print(k,v)

-------------
(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')


楼主应该是想要这个吧
cxyfreedom
2017-01-14 23:48:27 +08:00
直接上 enumerate 啊
Kilerd
2017-01-14 23:48:32 +08:00
关键字 enumerate

其他自行搜索
imcocc
2017-01-14 23:48:54 +08:00
@lhbc 十分感谢 测试有效
imcocc
2017-01-14 23:50:21 +08:00
@zeroten
@cxyfreedom
@Kilerd
关于 enumerate 的用法 我也去搜索一下
感谢分享
imcocc
2017-01-14 23:55:12 +08:00
长见识了 enumerate 是个不错的内置函数,自动为数组或列表组成一个索引序列。
用法
for index,text in enumerate(list):

print index ,text


方便后来人
Dvel
2017-01-15 00:01:54 +08:00
我也刚学了点 python 基础语法,好像没有 C 语言的 for-i 循环,只有 for-in ,配合 range 、 enumerate 之类的函数用起来也挺方便的。
Allianzcortex
2017-01-15 00:14:29 +08:00
这个......还是授人以渔更好些(汗。。其实自己就是弱鸡), Google 搜: Python iterate with index 第一个结果就是 SO 的这个 http://stackoverflow.com/questions/522563/accessing-the-index-in-python-for-loops 最高票回答就是用 enumerate 。换成 Scala iterate with index 就是 http://stackoverflow.com/questions/6833501/efficient-iteration-with-index-in-scala ,用 zipWithIndex 。用 Java iterate with index ,就是 http://stackoverflow.com/questions/3329842/how-to-get-the-current-loop-index-when-using-iterator ,本身没有实现,或者自己用一个变量来在 for-loop 里自增,或者用 iterator.nextIndex()
Allianzcortex
2017-01-15 00:18:47 +08:00
所以一直说掌握好 Google+英文 能解决开发中 99% 的问题~
ericbize
2017-01-15 00:20:21 +08:00
@Allianzcortex 完全同意
coolair
2017-01-15 02:37:29 +08:00
我觉得楼主要的是 zip
for a, b in zip(lista, listb)
crab
2017-01-15 03:51:41 +08:00
list=["a","b","c","d"]
for i in range(4):
print(i,list[i],sep=',')
ipwx
2017-01-15 11:46:12 +08:00
你可以看看 itertools 这个包,有很多好用的函数。
forrestchang
2017-01-15 17:33:03 +08:00
@ipwx enumerate 貌似是 built-in-functions 吧。

这种情况肯定是 lz 对标准库不熟悉,建议系统地看一遍标准库。
imcocc
2017-01-15 20:15:47 +08:00
@forrestchang 嗯 正在看标准库,有个印象用的时候知道怎么搜了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/334658

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX