Задать вопрос
  • Как получить матрицу из массивов?

    @GeneD88
    QA
    def shiftList(lst, n):
        n = n % len(lst)
        return lst[n:] + lst[:n]

    a = [1, 2, 3, 4, 5, 6, 7]
    shiftList(a,1)

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

    Ну, а раз вы используете numpy, то
    import numpy
    a = [1, 2, 3, 4, 5, 6, 7]
    numpy.roll(a,1)
    Ответ написан
    Комментировать
  • Как получить матрицу из массивов?

    AnnTHony
    @AnnTHony
    Интроверт
    a = [1, 2, 3, 4, 5, 6, 7]
    x = []
    x.extend(a[1:len(a)])
    x.append(a[0])
    x
    >>> [2, 3, 4, 5, 6, 7, 1]
    Ответ написан
    5 комментариев
  • Как построить структурную схему для ДУ в Matlab?

    @AlexSku
    не буду отвечать из-за модератора
    Попробуйте вот так (хотя я с символьными выражениями не работал):
    syms x(t)
    assume(0<= t <= 1);
    dsolve(0.5*diff(x) + x == 2)
    assume(t<0 | t>1);
    dsolve(0.5*diff(x) + x == 0)
    Ответ написан
    Комментировать
  • Как создать список с суммами элементов другого списка?

    Sly_tom_cat
    @Sly_tom_cat
    .
    на уровне логики описанной в задании, и простейшими действиями:
    vals = [1,2,3,4,5]   # список со значениями 
    acc = 0                  # аккумулятор
    for i in range(len(vals)):   # проходим по списку
      acc + = vals[i]                    # увеличиваем аккумулятр на значение текущего элемента
      vals[i] = acc                       # запоминаем в оригинальном массиве накопленную сумму


    Если еще проще то можно не мудрить со сканированием оригинального массива.
    vals = [1,2,3,4,5]   # список со значениями 
    acc = 0                  # аккумулятор
    res = []
    for v in vals:
      acc + = v
      res.append(acc)
    Ответ написан
    Комментировать
  • Как создать список с суммами элементов другого списка?

    import itertools
    import operator
    
    itertools.accumulate([1,2,3,4,5], operator.add)
    Ответ написан
    Комментировать
  • Как создать список с суммами элементов другого списка?

    BedwaRe
    @BedwaRe
    Пиши код
    Честно говоря, не совсем понял, из чего и что Вы хотели получить, но надеюсь код ниже Вам поможет.
    sum = [2, 3, 2, 5, 6]
    res = []
    for k,v in enumerate(sum):
        if (k>0):
            res.append(res[k-1] + sum[k])
        else:
            res.append(sum[k])
    print(sum)
    print(res)
    # Вывод
    [2, 3, 2, 5, 6]
    [2, 5, 7, 12, 18]
    Ответ написан
  • Что отличает freelance программиста от корпоративного?

    Тут сложный момент. Не рискну говорить за всех, но расскажу о своём личном опыте и опыте моего друга.
    Мне на данный момент 33 и я всю жизнь проработал в офисе, никогда ни одного дня не фрилансил. Хотя понимаю, что во фрилансе больше денег. Но. Находясь в офисе ты находишься во взаимодействии с коллегами, а значит возможен очный обмен опытом, который, как ни крути, более интенсивен и более значим, нежели заочное общение на форумах. Просто потому что очно общаться проще и продуктивнее. Кроме того, для фриланса важна сильная самодисциплина: слишком много дома есть отвлекающих факторов и, лично мне, трудно находясь дома сосредоточиться на работе; далее, я разделяю среду обитания: на работе я работаю, а дома я отдыхаю. Ввиду таковой психологической установки мне трудно дома переключиться на рабочий режим. Ну и плюс к этому, о доходе в полмиллиона деревянных мне можно лишь мечтать, но меня деньги не интересуют как таковые, а потому мотивацией являются не деньги, а делание полезного и большого продукта, т.е. относительно маленькие проекты (с ограниченным сроком разработки и поддержки) меня не интересуют. Потому я всегда работал в ай-ти-шных интернет-компаниях над большими проектами, но никогда не рассматривал возможность трудоустройства в студию.

    Далее про друга. Он фрилансит уже более 10 лет. И, когда начинал, то немного троллил на тему "а я вот не работаю на дядю". Спустя 5 лет, он понял, что всё-таки работает. Но только на много разных дядь.
    Далее, есть момент в сложности самообразования: когда он не взаимодействует с большим коллективом таких же умных людей, то обмен опытом происходит гораздо слабее (писал выше), а потому знания необходимо самостоятельно подчерпывать из разных источников (хабр, англоязычные статьи, книжки, блоги умных разработчиков, и т.д.), но вот ведь вопрос: а когда это всё читать?, и каким образом это можно опробовать (если только не вести собственный(ые) опен-сорс проектики)? А значит, если нет жажды знаний, то варясь в зафиксированном стеке технологий начинается профессиональная стагнация. На что друг стал жаловаться мне 3 года назад: он понял, что очень много не знает, что появилось много нового и интересного, но он из-за того, что "просто решал прикладные задачи конкретного заказа" пропустил это всё. Было интересно за ним наблюдать, когда рассказывал ему про Git, DIC, модульное тестирование и т.д. --- то были удивлённые глаза ребёнка.
    Кстати, о детях. Упомянул выше, что для фриланса нужна сильная самодисциплина. У него тоже было такое: когда начал фрилансить, то он уже жил с девушкой (ныне женой) и она никак не могла понять почему нельзя отвлекать: ну вот же он!, что такого, чтобы помочь что-нибудь сделать по дому по-быстрому (например помыть посуду или вынести мусор): работа ж не убежит?, а что такого, чтобы подойти и спросить что он хочет на ужин? В конечном итоге проблема решилась тем, что договорился с ней о том, что в период с 2-х часов дня до 6-ти часов вечера, она к нему даже близко не подходит, не спрашивает, не отвлекает и вообще старается не шуметь. Вроде, всё стало хорошо... пока не родился ребёнок, а вот там уже не объяснить ребёнку, что папа работает и не надо мешать. Поэтому всё закончилось тем, что он снял комнату в офисе и теперь каждый день, как и многие другие люди, ездит работать в офис.

    Собственно к чему я это всё. И там и там есть плюсы и минусы. И каждый находит и занимается тем, что ему интересно, к чему больше лежит душа.
    Но лично я с большой настороженностью отношусь к найму фрилансеров в штат компании лишь по одной причине: если недостаток знаний всегда можно восполнить общением и обучением, то вот с коммуницированием возникают (по моему опыту) значительные проблемы: нежеление (а иногда и саботаж) в части принятия используемого код-стайла; нежелание исправлять замечания, оставленные во время код-ревью; притаскивание сторонних говно-библиотек без необходимости; нежелание писать модульные тесты; а в отдельных случаях, даже эгоизм. При этом, уточню, что это относится не ко всем! Далеко не ко всем! Во всей моей практике такое было лишь дважды и то были молодые фрилансеры. Так же замечу, что опытные фрилансеры (ввиду большего жизненного опыта) гораздо спокойнее и легче вливаются в команду (такие тоже приходили и у меня был опыт работы с ними).
    Ответ написан
    2 комментария
  • В какой области работают Python-разработчики?

    Atanvar
    @Atanvar
    Frontend developer
    Тестирование
    Бэкенд
    Обработка данных
    Наука
    Ответ написан
    Комментировать
  • Как умножить каждый ДЕВЯТЫЙ элемент списка на 2?

    Твой код возможно решает какую-то проблему, но точно не описанную тобой.
    См. range(start, stop[, step]):
    • start -- первое значение интервала
    • stop -- последнее значение интервала
    • step -- шаг
    for i in range(..) означает для каждого i в интервале от start до stop с шагом step. Ты передаёшь как start, stop и step значения массива samples_null_list, соответственно поведение цикла зависит от значений этого массива (а именно первого, последнего и девятого элемента).
    Ответ написан
    Комментировать
  • Как заставить return возвращать несколько массивов?

    Mogidin
    @Mogidin
    def getcoordinates(array1, array2):
    	for j in array1:
    		array3 = [j * i for i in array2]
    		yield array3
    
    array1 = [1,2,3,4,5,6,7,8,9]
    array2 = [10,20,30,40,50,60,70,80,90]
    
    for a in getcoordinates(array1, array2):
    	print a
    Ответ написан
    Комментировать
  • Как заставить return возвращать несколько массивов?

    sgjurano
    @sgjurano
    Разработчик
    Еще можно возвращать генераторы, вот так:

    def func():
    for i in xrange(10):
    yield xrange(10)
    Ответ написан
    Комментировать
  • Как заставить return возвращать несколько массивов?

    ZeroDX
    @ZeroDX
    Бездельник
    Если я правильно понял задачу
    def getcoordinates(a1, a2):
        return [[x*y for x in a2] for y in a1]

    аналог
    def getcoordinates(a1, a2):
        res = []
        for x in a1:
            tmp = []
            for y in a2:
                tmp.append(x*y)
            res.append(tmp)
        return res
    Ответ написан
    Комментировать
  • Как заставить return возвращать несколько массивов?

    @delphikettle
    Программирую в свободное от учёбы время
    return завершает выполнение функции.
    Чтобы return вернул j массивов, нужно тогда возвращать двумерный массив. Для этого перед for объявляем некий массив; arrayRes=[], а в цикле вместо return добавляем каждый array3 к нашему массиву: arrayRes.append(array3), а в конце функции, после цикла, пишемreturn arrayRes
    Ответ написан
    3 комментария
  • Как организовать цикл в данном случае?

    abs0lut
    @abs0lut
    Простое и красивое решение:
    >>> a1 = [1,2,3]
    >>> a2 = [4,5,6]
    >>> [[num * number for number in a1] for num in a2]
    [[4, 8, 12], [5, 10, 15], [6, 12, 18]]
    >>>
    Ответ написан
    4 комментария
  • Как вызвать функцию на основе двух функций?

    NeiroNx
    @NeiroNx
    Программист
    Ошибка в том что вы вызываете функцию требующую параметры без указания параметров.

    может так надо:
    buildgraph(getarray1(), getarray3(getarray1(), getarray2()))

    или так
    array3 = getarray3(getarray1(), getarray2())
    buildgraph(getarray1(), array3)


    или вообще так:
    array1 = getarray1()
    array2 = getarray2()
    array3 = getarray3(array1, array2)
    buildgraph(array1, array3)
    Ответ написан
    Комментировать
  • Как вызвать функцию на основе двух функций?

    @nirvimel
    x1, x2 = getarray1(), getarray2()
    x3 = getarray3(x1, x2)
    buildgraph(x1, x3)
    Ответ написан
    Комментировать
  • Как вызвать функцию на основе двух функций?

    LeEnot
    @LeEnot
    Енот-андроид
    Вы не понимаете элементарных принципов процедурного программирования.
    Я бы советовал прочитать сию фундаментальную вещь: SICP, благо, издание имеется уже и на русском языке.
    При желании легко гуглится PDF версия.
    Ответ написан
    Комментировать
  • Как вызвать возвращенное функцией значение?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    firstarray в первой функции нужно объявить явно, хотя бы в теле, необязательно в параметтре
    Ответ написан
    Комментировать