【发布时间】:2016-05-16 05:46:18
【问题描述】:
您好,我正在尝试编写一个代码,它在列表中对对进行迭代并在条件满足时更新对
List=[A1,A2,A4,A5,E3,A3,E1,A7,E2,E3]
这是我目前所拥有的:
def pairwise(ListX):
"Pairs -> (A1,A2), (A2,A4), (A4, A5),(A5, E3),(E3, A3),(A3, E1), ..."
a, b = tee(ListX)
next(b, None)
return izip(a, b)
for a, b in pairwise(List):
if a!= b and a == 'E':
do something and switch positions
在这种情况下,(E3, A3) 对将被切换,新顺序将是 (A3,E3),然后要迭代的新对将是:(E3, E1) 而不是 (A3, E1)。到目前为止我的代码做出了动作并切换了列表的顺序:
List=[A1,A2,A4,A5,E3,A3,E1,A7,E2,E3] <--Initial
List=[A1,A2,A4,A5,A3,E3,E1,A7,E2,E3] <--Switched
但是在切换之后继续迭代对(A3,E1)。
有什么建议吗?
【问题讨论】: