Документация
Передача массива ячеек как типа последовательности Python
В этом примере показано, как передать массив ячеек MATLAB ® функции Python ® .
Следующий модуль Python содержит функциональный theend , который добавляет текст в конец списка. Создайте текстовый файл, скопируйте этот модуль Python и сохраните файл как mymod.py в перезаписываемой папке, например, вашем prefdir папка.
# mymod.py """Python module demonstrates passing MATLAB types to Python functions""" def search(words): """Return list of words containing 'son'""" newlist = [w for w in words if 'son' in w] return newlist def theend(words): """Append 'The End' to list of words""" words.append('The End') return words
Добавьте папку, содержащую mymod.py к пути поиска файлов Python с помощью append метод list ввод.
P = py.sys.path; append(P,prefdir);
Откройте файл выборочных данных MATLAB, создав массив ячеек, LastName .
load patients.mat
Преобразуйте массив ячеек в 1 — N py.list массив.
L = py.list(LastName'); class(L)
ans = py.list
Вызовите mymod.theend в списке.
py.mymod.theend(L);
Функция Python не делает возвращаемой переменной L как выходной аргумент. Вместо этого функция обновляет значение ссылкой.
Просмотрите последний элемент в списке.
ans = Python str with no properties. The End
Можно передать переменную L к другим функциям Python.
Похожие темы
- Использование Типа списка Python в MATLAB
- Передача данных Python
Документация MATLAB
Поддержка
- MATLAB Answers
- Помощь в установке
- Отчеты об ошибках
- Требования к продукту
- Загрузка программного обеспечения
© 1994-2020 The MathWorks, Inc.
- Условия использования
- Патенты
- Торговые марки
- Список благодарностей
Для просмотра документации необходимо авторизоваться на сайте
Войти
Памятка переводчика
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
передача массива в функцию на питоне [закрыт]
Закрыт. Этот вопрос необходимо уточнить или дополнить подробностями. Ответы на него в данный момент не принимаются.
Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение.
Закрыт 4 года назад .
Как на питоне передать массив на выход в функцию? Делаю минимализацию по методу квайна, там очень полезно будет это использование.
Отслеживать
задан 5 окт 2019 в 5:35
Артём Подковыров Артём Подковыров
35 1 1 золотой знак 1 1 серебряный знак 5 5 бронзовых знаков
Так же, как аргумент любого другого типа.
5 окт 2019 в 5:59
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Под массивом вы скорее всего имеете в виду list? Не совсем понятно в чем проблема его передачи в функцию:
def my_function(some_list): #code pass my_function([1, 2, 3, 4, 5])
Или предварительно записав его в переменную
my_list = [1, 2, 3, 4, 5] my_function(my_list)
Как передать массив в функцию в Python?
Массив — это объект, его можно передать в функцию как и любой другой объект (число, строку и т.д.) в качестве аргумента.
# можно передать напрямую print([1, 2, 3, 4]) # [1, 2, 3, 4] # можно после присваивания переменной fruits = ['apple', 'banana', 'orange'] print(fruits) # ['apple', 'banana', 'orange']
Как передать функцию как параметр в Python?
Поскольку функция в Python является объектом, ее можно передавать в другую функцию в качестве аргумента. При этом функция в аргументе указывается без круглых скобок, то есть передается только ссылка на функцию.
def calculate(a, b, operation): result = operation(a, b) return result def sum(a, b): return a + b def multiply(a, b) return a * b calculate(2, 3, sum) # 5 calculate(3, 4, multiply) # 12
Функции, которые могут принимать другие функции в качестве аргументов, также называются функциями высшего порядка. Яркий пример функции высшего порядка — функция map() , которая принимает аргументом функцию и итерируемую последовательность, и применяет функцию-параметр к каждому элементу последовательности.