【发布时间】:2013-04-29 09:47:01
【问题描述】:
基于在列表中找到的元素,我想更新我的 for 循环中的索引值。我相信我已经做到了,但我的 Python 脚本似乎没有输出正确的值,我不知道为什么:
我的列表如下所示:
dataXY = [['6', 'c', '3', '7', '2', '9', '1', '7'],['8', '4', 'c', '7', '9', '3', '4', '7', '1', '2']]
我的代码是:
for lists in dataXY:
XYbezier = []
final_lists = []
for datum in range(len(lists)):
if lists[datum] == 'c':
for k in range(-1,4):
if k != 0:
XYbezier.append(lists[datum+k])
else:
if lists[datum-1] == 'c':
datum += 3
if datum != len(lists):
final_lists.append(lists[datum])
else:
final_lists.append(lists[datum])
print datum
它打印的是这样的: 1 5 3 4 5 6 7 0 1 2 6 4 5 6 7 8 9
由于某种原因,索引值被重置,但随后恢复(从它如何从 1 跳到 5 然后又回到 3)我不明白它为什么这样做,我需要索引值跳转 3 个位置并永久更新,而不是恢复到原来的值。
【问题讨论】:
-
用简单的英语 - 这应该做什么?
标签: python list for-loop indexing