看板 Python 關於我們 聯絡資訊
這想法是從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
buganini:*arg 03/27 04:10
AstralBrain:http://codepad.org/BUQHBpEJ 03/27 04:10
mikapauli:在sequence前加*可以拆開它(其實大部分collection都可) 03/27 15:12
mikapauli:**用來拆mapping 03/27 15:12
cog5566:謝謝大家的解答! 03/28 00:55