十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
本篇文章為大家展示了Python中的匿名函數(shù)如何使用,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
10年積累的網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有勃利免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
一. MATLAB中這樣來定義一個匿名函數(shù):
f = @(x1, x2, ...) exper
@后面的括號里面是自變量,然后跟一個空格(沒有空格也行),然后跟著關(guān)于x1, x2, ...的表達式。
下面來舉幾個例子。
1.
>> f = @(x) x.^2 -1
f =
@(x)x.^2-1
>> x = -1:0.01:1;
>> y = f(x);
>> plot(x, y)
2.
%創(chuàng)建一個單詞庫
>> words={};
>> for i = 'a':1:'z'
words = [words, i];
end
%創(chuàng)建一個單詞對應(yīng)含義的庫,他兩按照位置對應(yīng)
>> meaning = {}
meaning =
{}
>> for i = 1:length(word)
meaning{i} = i;
end
%找出單詞對應(yīng)的含義
>> word = 'f';
>> f = @(s) strcmp(s, word);
>> wordIndex = cellfun(f, words);
>> expalantation = meaning(wordIndex)
expalantation =
[6]
前面那兩個for循環(huán)相當(dāng)于建立了兩個小小的單詞數(shù)據(jù)庫,詞義是通過對應(yīng)位置來關(guān)聯(lián)。
到了后面,先輸入單詞'f',然后創(chuàng)建一個匿名函數(shù)f,f的自變量是s,這個匿名函數(shù)的功能是把s與輸入的word進行比較,如果相同返回真。
然后到cellfun了,第一個參數(shù)是函數(shù)句柄,第二個參數(shù)是一個cell,把cell中的每一個元素都傳給函數(shù)句柄對應(yīng)的函數(shù)中。然后返回的wordIndex是一個邏輯數(shù)組,用它去索引出位置為真時對應(yīng)的元素。
二. Python中的匿名函數(shù),(lambda表達試)
f = lambda 參數(shù) : 參數(shù)表達式
下面來舉個簡單的例子,其實和matlab中的也差不多
比如:畫x^2 - 1 圖像
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(-1, 1, 0.01)
f = lambda x : x**2 - 1
y = f(x)
plt.plot(x,y)plt.show()
Python中還有個類似于MATLAB中arrayfun和cellfun的東西,即map函數(shù),它是把可迭代序列中的每一個元素作為函數(shù)的參數(shù)進行計算然后返回個map對象(是一個生成器),可以用list轉(zhuǎn)化成列表。
所以上面的y可以寫成list(map(f, x))
上述內(nèi)容就是Python中的匿名函數(shù)如何使用,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。