【问题标题】:I want to choose different element in each loop我想在每个循环中选择不同的元素
【发布时间】:2019-04-04 11:08:40
【问题描述】:

我想在每个循环中选择不同的数组元素。例如,在下面的代码中,数组和循环计数不等于数组的长度。但是我必须在主循环中选择一些元素,然后我会将我的选择附加到新数组中。

   e1=[1,2,3,4,5,6,7,8,9,10]
      c=0
      e2=[]
   while c<=3:
      c+=1
      for i in e1:
          e2.append(i)

    print(e2)

.

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

但我想在第一个循环中选择 1,在第二个循环中选择 2,在第三个循环中选择 3。所以新数组必须是 [1, 2, 3]。但是数组的每个元素都是自动生成的。

【问题讨论】:

  • 使用while c&lt;3: e2.append(e1[c]) c+=1
  • 您的预期输出是什么?你能edit这个问题并包括它。
  • 你为什么需要一个循环呢?
  • 顺便说一句,这不是array,而是list

标签: python arrays loops


【解决方案1】:
e1=[1,2,3,4,5,6,7,8,9,10]
e2=[]
c=0
while c<3:
    e2.append(e1[c])
    c+=1
print(e2)

输出

[1,2,3]

【讨论】:

    【解决方案2】:

    在python中,[]被称为列表。

    当您编写for i in e1 时,它会遍历列表e1 中的每个元素,然后e2.append(i) 将每个i 追加到新列表e2 中。实际上,声明while c&lt;=3: 确保您执行此操作(将 e1 的每个项目附加到 e2 三次),这不是您想要的。 @prashant 的评论将是做你想做的事情的一种方式。 除非我弄错了你想要什么,否则一种更 Pythonic 的方式是:

    e1=[1,2,3,4,5,6,7,8,9,10]
    c=0
    e2=[]
    for i in e1[:3]:
        e2.append(i)
    print(e2)
    

    列表中的每个项目都可以以list[item_index]e1[0] is 1e1[3] is 4 等形式访问。列表可以“切片”为list[start_index:end_index+1]e1[0:3] gives [1,2,3]e1[0], e1[1], e1[2]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-03
      • 2015-11-06
      • 1970-01-01
      • 2020-06-18
      • 2014-11-09
      • 2018-08-13
      • 2018-08-13
      • 2017-10-03
      相关资源
      最近更新 更多