[問題] 有無可能一次為函式建立多個input?
這想法是從matlab來的。
matlab 中可以用cell 這個資料型態,一次把函式塞進多個input arguments
--------------------------------------------------------------------
例一:
>> s = {'abc', 'mno', 'xyz'};
>> strcat(s{:})
ans =
abcmnoxyz
此時 strcat(s{:}) 語法同等於 strcat('abc', 'mno', 'xyz')
--------------------------------------------------------------------
例二:
>> r = {2,5};
>> rand(r{:})
ans =
0.6557 0.8491 0.6787 0.7431 0.6555
0.0357 0.9340 0.7577 0.3922 0.1712
此時 rand(r{:}) 語法同等於 rand(2,5)
---------------------------------------------------------------------
也就是說,展開 cell的時候(用{:}的語法),被展開的內容會填入函式被當作參數。所以
可以將數個參數包成一個cell等到要使用函式的時候展開。
有時候這樣的語法會很方便,
尤其是在程式一開始並不能確定函式參數數量的時候很有用。
不知道python 有沒有這樣的語法,是否 list 或是 dictionary 可以用一些方法類比到
matlab 裡cell這樣的語法呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.34.30.120
→
03/27 04:10, , 1F
03/27 04:10, 1F
推
03/27 04:10, , 2F
03/27 04:10, 2F
推
03/27 15:12, , 3F
03/27 15:12, 3F
→
03/27 15:12, , 4F
03/27 15:12, 4F
→
03/28 00:55, , 5F
03/28 00:55, 5F