Я хочу выбрать разные элементы в каждом цикле - PullRequest
0 голосов
/ 04 апреля 2019

Я хочу выбрать разные элементы массива в каждом цикле. Например, в приведенном ниже коде количество массивов и циклов не равно длине массива. Но я должен выбрать некоторые элементы в основном цикле, а затем я добавлю свой выбор в новый массив.

   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]. Но каждый элемент массива генерируется автоматически.

Ответы [ 2 ]

0 голосов
/ 04 апреля 2019

В python [] называются списками.

Когда вы пишете for i in e1, он перебирает каждый элемент в списке e1, а затем e2.append(i) добавляет каждый из этих i в новый список e2.По сути, утверждение while c<=3: гарантирует, что вы делаете это (добавляете каждый элемент от e1 к e2 три раза), что не соответствует вашим ожиданиям.Комментарий @Prashant будет одним из способов сделать то, что вы хотите.Если бы я не ошибся насчет того, что вы хотите, можно было бы использовать более питонический способ:

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 1, e1[3] is 4 и т. Д. И спискиможет быть «нарезан» как list[start_index:end_index+1] т.е. e1[0:3] gives [1,2,3] т.е. e1[0], e1[1], e1[2]

0 голосов
/ 04 апреля 2019
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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...