Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何遍历循环并打印循环值_Python_Python 2.7_Python 3.x - Fatal编程技术网

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[]并将某些变量分配给前两个数字,如下所示:

  • 节点1=338
  • 节点2=299
  • 在reming集合中搜索Node2(即299)
  • 并将相邻值分配给节点3,即节点3=300
  • 详细说明所使用的所有数字
  • 循环在此结束,从下一个循环开始,它应该搜索Node3值并将其指定为Node1
  • 继续循环直到Nod==0

    代码的结果应该是

    第一圈

    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