次数限定,循环取列表的值
- 工作中遇到的,应该算是写 python 时比较容易出现的小错误,记录一下
- 对比看,使用 Java 比较难发生这样的错误
需要实现的功能
限定次数,循环取列表里的值。
比如列表['aa','bb','cc','dd']
限定次数2时:
aa
bb
限定次数5时:
aa
bb
cc
dd
aa
挺简单的,瞬间写完。
先看看 -> 错误写法
calist = ['aa','bb','cc','dd']
for v in calist:
count = 6
while count>0:
print(v)
print(count)
count-=1
打印出来的是:
aa
5
aa
4
aa
3
aa
2
aa
1
bb
5
...
dd
1
就…每个值打印了6次,再看看自己的写法,
感到智熄…😌
再看看 -> 正确写法
calist = ['aa','bb','cc','dd']
count = 5
index = 0
while index < count:
item = calist[index % len(calist)]
print(item)
index+=1
打印结果:
aa
bb
cc
dd
aa
完美解决✅
反思
- 这是一个想当然的错误,不过也不难解决就是
- 和Java对比着看,index就相当于i++部分,从这个问题的角度看,Java比较好实现