Создать список из 6 предметов - PullRequest
1 голос
/ 26 марта 2020

Мне нужно создать список из 6 элементов. Я делаю это через al oop, чтобы он делал это с каждой строкой данных в массиве ingreso_datos .

. Я создал список с именем counters , в котором есть еще один список из 6 элементов, но я просто хочу создать список из 6 элементов.

изображение, которое описывает мою проблему :

image that describes my problem

Я все еще понимаю синтаксис в списках, python - мой первый язык программирования, я благодарен за отзывы,

ingreso_datos = [[ 1,    'C',    28,    29,    30,    19,    20,     21,      0,      0,      0,    2.5,    'HEB',    200],
                 [ 2,    'C',    31,    32,    33,    22,    23,      24,    4.5,      0,    4.5,    2.5,    'HEB',    200],
                 [ 3,    'C',    34,    35,    36,    25,    26,      27,    9.5,      0,    9.5,    2.5,    'HEB',    200],
                 [ 4,    'C',    19,    20,    21,    10,    11,      12,      0,    2.5,      0,      5,    'HEB',    200],
                 [ 5,    'C',    22,    23,    24,    13,    14,     15,    4.5,    2.5,    4.5,      5,    'HEB',    200],
                 [ 6,    'C',    25,    26,    27,     6,    17,      18,    9.5,    2.5,    9.5,      5,    'HEB',    200],
                 [ 7,    'C',    10,    11,    12,     1,     2,       3,      0,      5,      0,    7.5,    'HEB',    200],
                 [ 8,    'C',    13,    14,    15,     4,     5,       6,    4.5,      5,    4.5,    7.5,    'HEB',    200],
                 [ 9,    'C',    16,    17,    18,     7,     8,       9,    9.5,      5,    9.5,    7.5,    'HEB',    200],
                 [10,    'B',    19,    20,    21,    22,    23,      24,      0,    2.5,    4.5,    2.5,    'HEB',    200],
                 [11,    'B',    22,    23,    24,    25,    26,      27,    4.5,    2.5,    9.5,    2.5,    'HEB',    200],
                 [12,    'B',    10,    11,    12,    13,    14,      15,      0,      5,    4.5,      5,    'HEB',    200],
                 [13,    'B',    13,    14,    15,    16,    17,      18,    4.5,      5,    9.5,      5,    'HEB',    200],
                 [14,    'B',     1,     2,     3,     4,     5,       6,      0,    7.5,    4.5,    7.5,    'HEB',    200],
                 [15,    'B',     4,     5,     6,     7,     8,       9,    4.5,    7.5,    9.5,    7.5,    'HEB',    200]] 


for i  in range(len(ingreso_datos)):

    counters = []

    counters.append([ingreso_datos[i][2], ingreso_datos[i][3], ingreso_datos[i][4],
                     ingreso_datos[i][5], ingreso_datos[i][6], ingreso_datos[i][7]])

Ответы [ 3 ]

1 голос
/ 26 марта 2020

Если вы хотите извлечь элементы 2-7 в каждой строке ingreso_datos, вы можете написать

counters = []
for i in range(len(ingresso_datos)):
    counters.append(ingresso_datos[i][2:8])

Теперь счетчики [0] будут значениями 2-7 в первой строке, счетчики [1] будут значения во втором ряду и так далее. Более компактный (и гораздо более быстрый) способ сделать то же самое -

counters = [ingresso_datos[i][2:8] for i in range(len(ingresso_datos))]

Это называется генератором списков, и если вы продолжите использовать python, вы можете с ними поработать :) Если Вы хотите все 2-7 значений в один список (не список списков), который вы можете использовать .extend как предложено или:

counters = [x for x in ingresso_datos[i][2:8] for i in range(len(ingresso_datos))]

, который в «длинном» виде будет двойным для l oop:

counters = []
for i in range(len(ingresso_datos)):
   for x in ingresso_datos[i][2:8]:
       counters.append(x)
1 голос
/ 26 марта 2020

Учитывая вашу текущую структуру, попробуйте использовать .extend вместо .append. Попробуйте ниже:

counters.extend([ingreso_datos[i][2], ingreso_datos[i][3], ingreso_datos[i][4],
                     ingreso_datos[i][5], ingreso_datos[i][6], ingreso_datos[i][7]])
0 голосов
/ 26 марта 2020

возможно, что вы хотите, это так.

counter = []
for x in range(2,8):
   counter.append(ingreso_datos[x][0])

это должно вернуть [3,4,5,6,7,8], где каждое значение получено из каждого первого индекса из списка в ingreso_datos .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...