将字符串列表连续加入下一个字符串列表

时间:2017-08-30 04:45:09

标签: list loops for-loop join

 x = [[1,2], [3,4], [5,6]]

 y = [i + a.pop(0) for i in a] 
 print(y) 

我想创建一个循环,将每个列表连接到下一个列表,使其看起来像

  [[1,2,3,4], [3,4,5,6]]

目前我得到的是

  [4, 0, 4, 0], [2, 2, 4, 2]]

2 个答案:

答案 0 :(得分:1)

这是loop-comprehension -

的一种方法
[x[i]+x[i+1] for i in range(len(x)-1)]

样品运行 -

>>> x = [[1,2], [3,4], [5,6]]
>>> [x[i]+x[i+1] for i in range(len(x)-1)]
[[1, 2, 3, 4], [3, 4, 5, 6]]

>>> x = [[1,2], [3,4], [5,6], [7,8], [9,10]]
>>> [x[i]+x[i+1] for i in range(len(x)-1)]
[[1, 2, 3, 4], [3, 4, 5, 6], [5, 6, 7, 8], [7, 8, 9, 10]]

答案 1 :(得分:0)

您可以使用以下数据结构

<div class="container">
<div class="row top-row">
  <div class="col-md-12 game-header">
  Title
  </div>
</div>

<div class="row mid-row">

  <div class="col-md-7 game-screen">

      <div class="row health-bars">
        <div class="col-md-6 half">
          
          <div class="healthBarContainer">
            <div class="hb-label"> Player Health: <span id="playerHealth">0</span>  </div>
              <div class="healthBar bg-success" id="playerHealthBar" data-p="100" >
                  
              </div>
          </div>
        </div>
         <div class="col-md-6 half">
            <div class="healthBarContainer">
              <div class="hb-label"> Enemy Health: <span id="enemyHealth">0</span> </div>
        
              <div class="healthBar bg-warning" id="enemyHealthBar" data-p="100" syle="min-width: 1em">
                  
              </div>
            </div>           
        </div>
      </div>


      <div class="row">
        <div class="col-md-12 fight-ring">

          <div class="fighter-space player-space">
            <img src="https://u57193820.dl.dropboxusercontent.com/u/57193820/saiyan-says/images/goku/goku-basic.png"  id="player-image" height="100" width="100">
          </div>

          <div id="projectlie">
            <div class="fighter-space ki-space">
              <img src="https://u57193820.dl.dropboxusercontent.com/u/57193820/saiyan-says/images/misc/ki-blast.png"  id="ki-image" height="100" width="100">
            </div>

            <div class="fighter-space lazer-space">
              <img src="https://u57193820.dl.dropboxusercontent.com/u/57193820/saiyan-says/images/misc/ki-lazer.png"  id="lazer-image" height="100" width="250">
            </div>
            
            <div class="fighter-space km-space">
              <img src="https://u57193820.dl.dropboxusercontent.com/u/57193820/saiyan-says/images/misc/kamehameha1.png"  id="km-image" height="100" width="400">
            </div>
          </div>

          <div class="fighter-space enemy-space">
            <img src="https://u57193820.dl.dropboxusercontent.com/u/57193820/saiyan-says/images/frieza/frieza-basic.png"  id="enemy-image" height="100" width="100">
          </div>
          
          <div class="fighter-space db-space">
            <img src="https://u57193820.dl.dropboxusercontent.com/u/57193820/saiyan-says/images/misc/frieza-ball.png"  id="db-image" height="10" width="10">
          </div>

        </div>
      </div>


  </div>

  <div class="col-md-5 game-control">
    <div class="row">
      <div class="button-group">
        <div data-i=0 class="simon element attack">Attack</div>
      </div>
    </div>
      
    <div class="row">
      <div class="button-group">
        <div data-i=1 class="simon element block">Block</div>
        <div data-i=2 class="simon element blast">Blast</div>
      </div>
    </div>

      <div class="button-group">
      <div data-i=3 class="simon element dodge">Dodge</div>
      </div>
  





  </div>

</div>

<div class="row bottom-row">
  
  <div class="col-md-12 game-settings">
    <div class="gameInfo bg-primary" style="color: white" id="restart"> Start</div>
    <div class="gameInfo"> Mode: <span id="mode">Easy</span> </div>
    <div class="gameInfo"> Input Count: <span id="in-count">0</span> </div>
    <div class="gameInfo"> Turn: <span id="turn">Demo</span> </div> 
    <div  class="gameInfo" id="diff"> Change Mode</div>

  </div>
  <hr>
  <div id="separate">--------The Buttons Below are For Testing Purposes---------</div>
  
  <div class="col-md-12 test-actions">
    <button class="btn btn-primary test-action" data-p="0" data-a="0">Attack</button>
    <button class="btn btn-primary test-action" data-p="0" data-a="1">Block</button>
    <button class="btn btn-primary test-action" data-p="0" data-a="2">Blast</button>
    <button class="btn btn-primary test-action" data-p="0" data-a="3">Dodge</button>
    <button class="btn btn-primary test-action" data-p="0" data-a="4">Finish</button>
    <br>
    <button class="btn btn-default test-action" data-p="1" data-a="0">E. Attack</button>
    <button class="btn btn-default test-action" data-p="1" data-a="1">E. Block</button>
    <button class="btn btn-default test-action" data-p="1" data-a="2">E. Blast</button>
    <button class="btn btn-default test-action" data-p="1" data-a="3">E. Dodge</button>
    <button class="btn btn-default test-action" data-p="1" data-a="4">E. Finish</button>
   
  </div>
 <button class="btn btn-default" id="testButton"> Test Controls</button>
  






</div>





enter code here
  

</div>
  1. 首先填写 List<ArrayList<Integer>>
  2. 中的元素
  3. 然后从i = 0开始循环并添加List.get(0)的i + 1个元素 和List.get(1)并存储在List(0)
  4. 重复相同,直到n-2。 List(n-1)和List(n-2)元素将是 加在一起。
  5. 从列表中删除最后一个元素。 (基本上是n-1个元素)。
  6. 此代码应该适合您。

    List<ArrayList<Integer>>

    输出 -

        List<ArrayList<Integer>> listArray = new ArrayList<>();
    
        ArrayList<Integer> list1 = new ArrayList<>();
        ArrayList<Integer> list2 = new ArrayList<>();
        ArrayList<Integer> list3 = new ArrayList<>();
    
        list1.addAll(Arrays.asList(1,2));
        list2.addAll(Arrays.asList(3,4));
        list3.addAll(Arrays.asList(5,6));
    
        listArray.add(list1);
        listArray.add(list2);
        listArray.add(list3);
    
        for (int i= 0; i<listArray.size()-1; i++){
            listArray.get(i).addAll(listArray.get(i+1));
        }
    
        listArray.remove(listArray.size()-1);
    
        System.out.println(listArray);