检查for循环中的下一个元素

时间:2015-12-26 19:39:58

标签: python

我们说我有这个阵列:

arr = ["foo","bar","hey"]

我可以使用以下代码打印"foo"字符串:

for word in arr:
    if word == "foo":
        print word

但我还要检查下一个word是否等于"bar"然后它应该打印"foobar"

如何检查for循环中的下一个元素?

4 个答案:

答案 0 :(得分:3)

  #content {
    background-color: #669966;
    height: auto;
    /*font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif; */
    color: #efefef;
    margin-top: 10px;
    height: 320px;
  }
  .tabHolder {
    margin-top: 10px;
    margin-left: 0px;
    width: 35px;
  }
  .sideTab {
    background-color: #666666;
    width: 35px;
    height: 80px;
    border-radius: 0px 15px 15px 0px;
    color: #efefef;
  }
  .sideTab.hover {
    background-color: #669966;
    color: #efefef;
  }
  .sideTab.current {
    background-color: #669966;
    color: #ffffff;
  }

  /*help here prrrz*/
  .vertical-text {
    transform: rotate(90deg) translate(50%, 50%);
    transform-origin: 50% 50% 0;
    vertical-align: middle;
  }
  .vertical-text:hover {
    color: #ffffff;
  }
  .nopadding {
    padding: 0 !important;
    margin: 10 0 0 0 !important;
  }
  .tab-content {
    display: none;
    background: #ededed;
    padding: 15px;
  }
  .tab-content.current {
    display: inherit;
  }
  .current {
    background-color: #669966;
  }

答案 1 :(得分:2)

列表中的项目可以通过索引引用。使用enumerate()方法接收迭代器以及每个列表元素(优选实例化和递增自己的C模式),您可以这样做:

arr = ["foo","bar","hey"]

for i, word in enumerate(arr):
    if word == "foo" and arr[i+1] == 'bar':
        print word

但是,当您到达列表末尾时,您将遇到需要处理的IndexError,或者您可以首先获得列表的长度(len())并确保{ {1}}。

答案 2 :(得分:0)

不是检查下一个值,而是跟踪上一个

<img src="Images/WP_Email_Banner.png" alt="Wisconsin Pollinators" height="252" width="600" style="display:block;" />

跟踪你已经过去的事情比偷看更容易。

答案 3 :(得分:0)

您也可以使用zip:

for cur, next in zip(arr, arr[1:]):
    if nxt=='bar':
        print cur+nxt

但请记住,由于len(ar[1:])将为2,迭代次数将只有两次