Семантика функции Потока Mathematica, кто-то должен наконец поместить это для отдыха

2 миллиона строк обычно являются не Очень Большой Базой данных, в зависимости от того, какую информацию Вы храните. Usualy, когда производительность ухудшает Вас, должен проверить Вашу стратегию индексации. Настраивающий Советник по вопросам Механизма базы данных SQL Server может помочь там.

14
задан nes1983 10 August 2009 в 11:30
поделиться

2 ответа

Поток немного похож на обобщение zip из других функциональных языков.

Для простых случаев, когда все элементы аргументов из вашего примера являются списками,

Thread[f[args]]

эквивалентен

f @@@ Transpose[{args}]

, как показано в первой паре примеров в документации. Основная проблема заключается в том, что у вас есть аргументы, которые не являются списками, и в этом случае они эффективно картируются; например,

Thread[g[{a, b}, c, {d, e}, f]]

эквивалентно

g[#1, c, #2, f]& @@@ Transpose[{{a, b}, {d, e}}]

Я обычно использую Thread для создания списков правил или списков уравнений.

11
ответ дан 1 December 2019 в 12:01
поделиться

Она работает аналогично функции Python zip () , но в несколько более общем виде. Например:

In[1] := Thread[{{1, 2, 3}, {4, 5, 6}}]  (* f == List *)
Out[1] = {{1, 4}, {2, 5}, {3, 6}}

In[2] := Thread[f[{1, 2, 3}, {4, 5, 6}]]
Out[2] = {f[1, 4], f[2, 5], f[3, 6]}

In[3] := Thread[f[a+b+c, d+e+f], Plus]
Out[3] = f[a, d] + f[b, e] + f[c, f]
14
ответ дан 1 December 2019 в 12:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: