作者SMUGEN (S‧无限)
看板Python
标题Re: [问题] 关於index
时间Wed Oct 28 10:27:45 2009
※ 引述《gkofay (欧欧正夯)》之铭言:
: st="application"
: for i in st:
: print(st.index(i))
: 我希望出现的值是
: 0
: 1
: 2
: 3
: 4
: 5
: 6
: 7
: 8
: 9
: 10
: 可是出现的结果是
: 0 a
: 1 p
: 1 p
: 3 l
: 4 i
: 5 c
: 0 a
: 7 t
: 4 i
: 9 o
: 10 n
: 重复到字母的索引会变成最刚出现的那个索引位置
: 我要怎要才能让他按照顺序显示呢??
: 麻烦了
小弟献丑了,参考一下
st = "application"
lastfound = {}
for i in st:
lastfound[i] = st.index(i, lastfound.get(i, -1)+1)
print '%-2s %s' % (lastfound[i], i)
输出:
0 a
1 p
2 p
3 l
4 i
5 c
6 a
7 t
8 i
9 o
10 n
原文有大大提示可以用内建的enumerate
的确简单多了,比我上面那样土炮好XD
st = "application"
for i in enumerate(st):
print '%-2s %s' % i
输出相同
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.32.24.149
※ 编辑: SMUGEN 来自: 114.32.24.149 (10/28 10:36)