Re: [问题] 如何得知list index

楼主: manincloud (无敌铁金钢)   2014-07-19 15:17:45
※ 引述《Sharon226 (流浪)》之铭言:
: ※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 180.176.216.67
: ※ 文章网址: http://www.ptt.cc/bbs/Python/M.1405500019.A.324.html
: → alibuda174:直接用alist.index('case3')找出索引值 可以吗? 07/16 17:55
: → mikapauli:有一定要知道index吗? 07/16 18:19
: → mikapauli:没有的话,可以让两个loop共用一个iterator 07/16 18:21
: → mikapauli:aiter = iter(alist) 07/16 18:21
: → mikapauli:for n in aiter: 07/16 18:21
: → mikapauli: A(n) 07/16 18:22
: → mikapauli: if n == 'case3': 07/16 18:22
: → mikapauli: break 07/16 18:22
: → mikapauli:for n in aiter: 07/16 18:23
: → mikapauli: B(n) 07/16 18:23
: 推 ck574b027:如果做的事情可以分成 A, B 两个函数,那 break 可以换 07/16 18:52
: → ck574b027:成 fn = B,做事都用fn(n),这样只需要一个 for 07/16 18:54
不好意思 没把需求说清楚 (先感谢doglegbow 以及楼上推文朋友)
现在我有一个list 以case3做切割
遇到case3前的element都做A
以后的都做B (不管是case?)
所以如果放在一个 for 里
感觉后半段会一直多做无意义的判断式 if n == 'case3'
enumerate可以, 我再试试 iter
for x in alist[:alist.index("case3")]:
print "do function a with x(%s)" % x
for x in alist[alist.index("case3")]:
print "do function b with x(%s)" % x
作者: ck574b027 (荒围!定厝!贼!妹!)   2014-07-16 22:08:00
enumerate 也是回传 iterator,所以模仿来用就好
作者: tiefblau (tiefblau)   2014-07-16 22:23:00
alist[alist.index('case3'):]

Links booklink

Contact Us: admin [ a t ] ucptt.com