Using Thread to map a two variable functionNested Map and ApplyUsing MapIndexed only at certain elements of a listHow to use Map inside MapThread?Function output of two lists are only diagonal elementsUse map on a different levelHow to Map a function with HoldAll attributeHow to map a function on a variable listMapping a simple 2 variable function
'Hard work never hurt anyone' Why not 'hurts'?
Do index funds really have double-digit percents annual return rates?
What drugs were used in England during the High Middle Ages?
Why do we need explainable AI?
What did Boris Johnson mean when he said "extra 34 billion going into the NHS"
co-son-in-law or co-brother
Would you recommend a keyboard for beginners with or without lights in keys for learning?
First Number to Contain Each Letter
What happens if I double Meddling Mage's 'enter the battlefield' trigger?
The little bee buzzes around the flower garden
What exactly is a softlock?
Can I sleep overnight at Stansted Airport
Did Alan Turing's student Robin Gandy assert that Charles Babbage had no notion of a universal computing machine?
Time to call the bluff
Has Rey's new lightsaber been seen before in canon or legends?
In-universe, why does Doc Brown program the time machine to go to 1955?
What happens when there is no available physical memory left for SQL Server?
Were the women of Travancore, India, taxed for covering their breasts by breast size?
What happens if the Spare the Dying cantrip is cast on a Zealot barbarian using Rage Beyond Death?
Question about derivation of kinematics equations
How will the UK Commons debate tonight despite the prorogation?
Tiny image scraper for xkcd.com
Are treasury bonds more liquid than USD?
std::tuple sizeof, is it a missed optimization?
Using Thread to map a two variable function
Nested Map and ApplyUsing MapIndexed only at certain elements of a listHow to use Map inside MapThread?Function output of two lists are only diagonal elementsUse map on a different levelHow to Map a function with HoldAll attributeHow to map a function on a variable listMapping a simple 2 variable function
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
$begingroup$
I have the following function:
magicFunction[ lst_, val_ ] := Fold[ ((#2 < val) && #1) &, True, lst ]
It works
In[]=:magicFunction[6,7,9]
Out[]= True
I want to Map the function. To do it I use Thread.
If I use Thread for a noname function with the list I want to map, the following is produced:
In[]:= Thread[f[6,7,2,3,1,2,9, 10,5]]
Out[]= f[6,7,9],f[2,3,10],f[1,2,5]
That is exactly what I want to do.
However, when I use magicFunction
that is not what I get. If I use magicFunction
I should get the following:
Out[]:= magicFunction[6,7,9],magicFunction[2,3,10],magicFunction[1,2,5]
which then evaluates to:
Out[]:= True, True, True
However what I get is the following:
In[]:= Thread[magicFunction[6,7,2,3,1,2,9, 10,5]]
Out[]:= 1,2<9,10,5&&2,3<9,10,5&&6,7<9,10,5
Does anybody know what I m doing wrong?
Thanks in advance!
map
New contributor
$endgroup$
add a comment |
$begingroup$
I have the following function:
magicFunction[ lst_, val_ ] := Fold[ ((#2 < val) && #1) &, True, lst ]
It works
In[]=:magicFunction[6,7,9]
Out[]= True
I want to Map the function. To do it I use Thread.
If I use Thread for a noname function with the list I want to map, the following is produced:
In[]:= Thread[f[6,7,2,3,1,2,9, 10,5]]
Out[]= f[6,7,9],f[2,3,10],f[1,2,5]
That is exactly what I want to do.
However, when I use magicFunction
that is not what I get. If I use magicFunction
I should get the following:
Out[]:= magicFunction[6,7,9],magicFunction[2,3,10],magicFunction[1,2,5]
which then evaluates to:
Out[]:= True, True, True
However what I get is the following:
In[]:= Thread[magicFunction[6,7,2,3,1,2,9, 10,5]]
Out[]:= 1,2<9,10,5&&2,3<9,10,5&&6,7<9,10,5
Does anybody know what I m doing wrong?
Thanks in advance!
map
New contributor
$endgroup$
add a comment |
$begingroup$
I have the following function:
magicFunction[ lst_, val_ ] := Fold[ ((#2 < val) && #1) &, True, lst ]
It works
In[]=:magicFunction[6,7,9]
Out[]= True
I want to Map the function. To do it I use Thread.
If I use Thread for a noname function with the list I want to map, the following is produced:
In[]:= Thread[f[6,7,2,3,1,2,9, 10,5]]
Out[]= f[6,7,9],f[2,3,10],f[1,2,5]
That is exactly what I want to do.
However, when I use magicFunction
that is not what I get. If I use magicFunction
I should get the following:
Out[]:= magicFunction[6,7,9],magicFunction[2,3,10],magicFunction[1,2,5]
which then evaluates to:
Out[]:= True, True, True
However what I get is the following:
In[]:= Thread[magicFunction[6,7,2,3,1,2,9, 10,5]]
Out[]:= 1,2<9,10,5&&2,3<9,10,5&&6,7<9,10,5
Does anybody know what I m doing wrong?
Thanks in advance!
map
New contributor
$endgroup$
I have the following function:
magicFunction[ lst_, val_ ] := Fold[ ((#2 < val) && #1) &, True, lst ]
It works
In[]=:magicFunction[6,7,9]
Out[]= True
I want to Map the function. To do it I use Thread.
If I use Thread for a noname function with the list I want to map, the following is produced:
In[]:= Thread[f[6,7,2,3,1,2,9, 10,5]]
Out[]= f[6,7,9],f[2,3,10],f[1,2,5]
That is exactly what I want to do.
However, when I use magicFunction
that is not what I get. If I use magicFunction
I should get the following:
Out[]:= magicFunction[6,7,9],magicFunction[2,3,10],magicFunction[1,2,5]
which then evaluates to:
Out[]:= True, True, True
However what I get is the following:
In[]:= Thread[magicFunction[6,7,2,3,1,2,9, 10,5]]
Out[]:= 1,2<9,10,5&&2,3<9,10,5&&6,7<9,10,5
Does anybody know what I m doing wrong?
Thanks in advance!
map
map
New contributor
New contributor
edited 7 hours ago
Carl Woll
89.6k3 gold badges117 silver badges229 bronze badges
89.6k3 gold badges117 silver badges229 bronze badges
New contributor
asked 8 hours ago
MavatanetMavatanet
511 bronze badge
511 bronze badge
New contributor
New contributor
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
$begingroup$
Your issue is that magicFunction
evaluated before Thread
could do anything. One idea to avoid this is to use Unevaluated
:
Thread[Unevaluated @ magicFunction[6,7,2,3,1,2,9,10,5]]
True, True, True
Another idea is to add an argument restriction to your magicFunction
. Since Less
only makes sense for numeric quantities, you can use:
Clear[magicFunction]
magicFunction[lst_, val_?NumericQ] := Fold[((#2<val)&)&,True,lst]
Then:
Thread[magicFunction[6,7,2,3,1,2,9,10,5]]
True, True, True
$endgroup$
add a comment |
$begingroup$
You can use MapThread
:
MapThread[magicFunction, 6, 7, 2, 3, 1, 2, 9, 10, 5]
True, True, True
$endgroup$
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "387"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Mavatanet is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f204741%2fusing-thread-to-map-a-two-variable-function%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
Your issue is that magicFunction
evaluated before Thread
could do anything. One idea to avoid this is to use Unevaluated
:
Thread[Unevaluated @ magicFunction[6,7,2,3,1,2,9,10,5]]
True, True, True
Another idea is to add an argument restriction to your magicFunction
. Since Less
only makes sense for numeric quantities, you can use:
Clear[magicFunction]
magicFunction[lst_, val_?NumericQ] := Fold[((#2<val)&)&,True,lst]
Then:
Thread[magicFunction[6,7,2,3,1,2,9,10,5]]
True, True, True
$endgroup$
add a comment |
$begingroup$
Your issue is that magicFunction
evaluated before Thread
could do anything. One idea to avoid this is to use Unevaluated
:
Thread[Unevaluated @ magicFunction[6,7,2,3,1,2,9,10,5]]
True, True, True
Another idea is to add an argument restriction to your magicFunction
. Since Less
only makes sense for numeric quantities, you can use:
Clear[magicFunction]
magicFunction[lst_, val_?NumericQ] := Fold[((#2<val)&)&,True,lst]
Then:
Thread[magicFunction[6,7,2,3,1,2,9,10,5]]
True, True, True
$endgroup$
add a comment |
$begingroup$
Your issue is that magicFunction
evaluated before Thread
could do anything. One idea to avoid this is to use Unevaluated
:
Thread[Unevaluated @ magicFunction[6,7,2,3,1,2,9,10,5]]
True, True, True
Another idea is to add an argument restriction to your magicFunction
. Since Less
only makes sense for numeric quantities, you can use:
Clear[magicFunction]
magicFunction[lst_, val_?NumericQ] := Fold[((#2<val)&)&,True,lst]
Then:
Thread[magicFunction[6,7,2,3,1,2,9,10,5]]
True, True, True
$endgroup$
Your issue is that magicFunction
evaluated before Thread
could do anything. One idea to avoid this is to use Unevaluated
:
Thread[Unevaluated @ magicFunction[6,7,2,3,1,2,9,10,5]]
True, True, True
Another idea is to add an argument restriction to your magicFunction
. Since Less
only makes sense for numeric quantities, you can use:
Clear[magicFunction]
magicFunction[lst_, val_?NumericQ] := Fold[((#2<val)&)&,True,lst]
Then:
Thread[magicFunction[6,7,2,3,1,2,9,10,5]]
True, True, True
answered 7 hours ago
Carl WollCarl Woll
89.6k3 gold badges117 silver badges229 bronze badges
89.6k3 gold badges117 silver badges229 bronze badges
add a comment |
add a comment |
$begingroup$
You can use MapThread
:
MapThread[magicFunction, 6, 7, 2, 3, 1, 2, 9, 10, 5]
True, True, True
$endgroup$
add a comment |
$begingroup$
You can use MapThread
:
MapThread[magicFunction, 6, 7, 2, 3, 1, 2, 9, 10, 5]
True, True, True
$endgroup$
add a comment |
$begingroup$
You can use MapThread
:
MapThread[magicFunction, 6, 7, 2, 3, 1, 2, 9, 10, 5]
True, True, True
$endgroup$
You can use MapThread
:
MapThread[magicFunction, 6, 7, 2, 3, 1, 2, 9, 10, 5]
True, True, True
edited 7 hours ago
answered 8 hours ago
kglrkglr
215k10 gold badges246 silver badges492 bronze badges
215k10 gold badges246 silver badges492 bronze badges
add a comment |
add a comment |
Mavatanet is a new contributor. Be nice, and check out our Code of Conduct.
Mavatanet is a new contributor. Be nice, and check out our Code of Conduct.
Mavatanet is a new contributor. Be nice, and check out our Code of Conduct.
Mavatanet is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Mathematica Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f204741%2fusing-thread-to-map-a-two-variable-function%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown