Python 如何遍历循环并打印循环值
我有以下数组:Python 如何遍历循环并打印循环值,python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,我有以下数组: Nod= ['338', '299', '299', '300', '300', '335', '336', '314', '335', '336', '337', '338', '309', '337', '314', '309'] 现在我必须编写一个代码,使其循环通过Nod[]并将某些变量分配给前两个数字,如下所示: 节点1=338 节点2=299 在reming集合中搜索Node2(即299) 并将相邻值分配给节点3,即节点3=300 详细说明所使用的所有数字 循环
Nod= ['338', '299', '299', '300', '300', '335', '336', '314', '335', '336', '337', '338', '309', '337', '314', '309']
现在我必须编写一个代码,使其循环通过Nod[]并将某些变量分配给前两个数字,如下所示:
Node1= 338
Node2= 299
Node3= 300
第二圈
Node1= 300
Node2=335
Node3=336
第三圈
Node1=336
Node2=314
Node3=309
第四
循环到此结束
我对编码和python非常陌生,请帮助我编写代码。我尝试过不同的循环,但无法理解逻辑和代码。
提前谢谢
node= ['338', '299', '299', '300', '300', '335', '336', '314', '335', '336', '337', '338', '309', '337', '314', '309']
while(len(node)!=3):
fst_element = node[0]
snd_element = node[1]
third_element = node[2:][node[2:].index(snd_element)+1]
print "fst: %s\t2nd: %s\t3rd: %s"%(fst_element,snd_element,third_element)
node = [x for x in node[2:] if x != fst_element]
node = [x for x in node if x != snd_element]
node = [x for x in node if x != third_element]
node.insert(0,third_element)
print "last result: " + str(node)
我想以上就是你想要的。我认为上一次迭代的结果是:
Node1=309
Node2=337
Node3=337
根据您的算法,编号338已经从第一次迭代中删除
很高兴学习python。对我来说,通过你的算法,你让事情变得复杂了。你能分享一下你最终想要达到的目标吗?我在下面提到过(代码的结果应该是:)每次循环通过第一个循环Node1=338 Node2=299 Node3=300时,我只需要三个不同的值。为什么它在
338
处结束?它是否链接到起始点?在整个数组中,这些值是成对的,在第一次迭代中只应删除一个。嗨,循环中有两个338,只有处于偶数位置的数字(即零位置)应该被删除,然后u应该能够修改代码,使其按照您的需要运行。Stackoverflow不是编码服务
Node1=309
Node2=337
Node3=337