Python, что не так?

Главная Форумы Задать вопрос Python, что не так?

В этой теме 3 ответа, 3 участника, последнее обновление  Анатолий 10 мес. назад.

Просмотр 4 сообщений - с 1 по 4 (из 4 всего)
  • Автор
    Сообщения
  • #8672 Score: 0

    Maksim
    Участник

    Здравствуйте, специалисты.

    Подскажите, что не так?

    результат из нода Python script, выдает ответ не списком, а результат по последнему элементу списка

    В  Python 3 как надо

     

    #8673 Score: 3

    ИваСерж
    Модератор
    122 pts

    У нас не 3 питон, а 2.7
    я бы написал через генератор списков
    a = [1,3,5,7]
    b = [i*2 for i in a]
    OUT = b

    Можно через лямбду и мап
    a = [1,3,5,7]
    func = lambda x: x*2
    b = map(func, a)
    OUT = b

    #8674 Score: 1

    ИваСерж
    Модератор
    122 pts

    Кстати, питон тут не при чем.
    В вашем коде в питоне 3 print (x) находится внутри цикла.
    сделайте строку 4 без отступа и будет у вас 1 результат.
    а вот применить АУТ вместо принт не получится, поскльку Аут прерывает выполнение скрипта

    Если OUT будет внутри цикла, то эффект будет аналогичен однократному х с коммандой останова

    print(x)
    break

    т.е. на выходе будет 2

    #8675 Score: 1

    Анатолий
    Участник
    37 pts

    В принципе, ИваСерж дал расширенный ответ о выводе данных списком, немного уточню по вашему коду скрипта питона 2.7. Чтобы ответ выглядел в виде списка, в вашем коде необходимо прописать:

    list = []
    for x in a:
        x = x*2
        list.append(x)
    OUT = list

    В одну строку как вам отвечали, это будет list=[x*2 for x in a]

Просмотр 4 сообщений - с 1 по 4 (из 4 всего)

Для ответа в этой теме необходимо авторизоваться.