Dropping list elements from nested list after evaluation Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?How do I delete items at the same position from every sub-list within a list?Using and replacing sequential elements of a listFinding the main parent after sorting in a multiplication processDeleting certain elements from a nested listData selection by comparing elements from different sublists in a nested listSelect from nested list and dropping non matching elementsSelecting elements in nested listRemove elements from deep nested listEliminate empty elements from a list with a specific pattern

What to do with repeated rejections for phd position

The test team as an enemy of development? And how can this be avoided?

Deconstruction is ambiguous

Drawing spherical mirrors

The Nth Gryphon Number

How does the math work when buying airline miles?

Why do early math courses focus on the cross sections of a cone and not on other 3D objects?

How to write capital alpha?

What order were files/directories output in dir?

How many morphisms from 1 to 1+1 can there be?

Girl Hackers - Logic Puzzle

One-one communication

Can the Flaming Sphere spell be rammed into multiple Tiny creatures that are in the same 5-foot square?

Central Vacuuming: Is it worth it, and how does it compare to normal vacuuming?

Tannaka duality for semisimple groups

What are the discoveries that have been possible with the rejection of positivism?

If the probability of a dog barking one or more times in a given hour is 84%, then what is the probability of a dog barking in 30 minutes?

Random body shuffle every night—can we still function?

How often does castling occur in grandmaster games?

Co-worker has annoying ringtone

How long can equipment go unused before powering up runs the risk of damage?

Did any compiler fully use 80-bit floating point?

How much damage would a cupful of neutron star matter do to the Earth?

Sum letters are not two different



Dropping list elements from nested list after evaluation



Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)
Announcing the arrival of Valued Associate #679: Cesar Manara
Unicorn Meta Zoo #1: Why another podcast?How do I delete items at the same position from every sub-list within a list?Using and replacing sequential elements of a listFinding the main parent after sorting in a multiplication processDeleting certain elements from a nested listData selection by comparing elements from different sublists in a nested listSelect from nested list and dropping non matching elementsSelecting elements in nested listRemove elements from deep nested listEliminate empty elements from a list with a specific pattern










4












$begingroup$


I need to create a new list from a nested list but using the evaluation as criteria to drop the elements. For example let's say that that I have the following list:



list1=1,1,-(-1)^3,x,2*x,1,1,(-1)^3,x,2*x,
1,1,x,2*x,3*x,1,1,-x,-2*x,-3*x


and I need to eliminate the elements of list1 that the absolute value of the third element give $1$, i.d. $-(-1)^3$ and $(-1)^3$, to obtain



 list2=1,1,x,2*x,3*x,1,1,-x,-2*x,-3*x


In this case, list1 was created with the code



For[i = 1, i < 4, i++,
For[j = 1, j < 4, j++,
list1[i, j, p_] = Sort[Eigenvalues[mat[i, j, p]]];
] ]


I have been trying to use Select but until now I am not been able to create list2 to plot it with



list2=ParallelTable[Select[Abs[eigval[i, j, p][[3]]], 
Abs[#] != 1 &] , i, 1, 4, j,1,4]


I am still learning to uses cases in Mathematica so I am not sure how to do it. Do you know if there is wise way to do it? Thanks in advance.










share|improve this question











$endgroup$
















    4












    $begingroup$


    I need to create a new list from a nested list but using the evaluation as criteria to drop the elements. For example let's say that that I have the following list:



    list1=1,1,-(-1)^3,x,2*x,1,1,(-1)^3,x,2*x,
    1,1,x,2*x,3*x,1,1,-x,-2*x,-3*x


    and I need to eliminate the elements of list1 that the absolute value of the third element give $1$, i.d. $-(-1)^3$ and $(-1)^3$, to obtain



     list2=1,1,x,2*x,3*x,1,1,-x,-2*x,-3*x


    In this case, list1 was created with the code



    For[i = 1, i < 4, i++,
    For[j = 1, j < 4, j++,
    list1[i, j, p_] = Sort[Eigenvalues[mat[i, j, p]]];
    ] ]


    I have been trying to use Select but until now I am not been able to create list2 to plot it with



    list2=ParallelTable[Select[Abs[eigval[i, j, p][[3]]], 
    Abs[#] != 1 &] , i, 1, 4, j,1,4]


    I am still learning to uses cases in Mathematica so I am not sure how to do it. Do you know if there is wise way to do it? Thanks in advance.










    share|improve this question











    $endgroup$














      4












      4








      4





      $begingroup$


      I need to create a new list from a nested list but using the evaluation as criteria to drop the elements. For example let's say that that I have the following list:



      list1=1,1,-(-1)^3,x,2*x,1,1,(-1)^3,x,2*x,
      1,1,x,2*x,3*x,1,1,-x,-2*x,-3*x


      and I need to eliminate the elements of list1 that the absolute value of the third element give $1$, i.d. $-(-1)^3$ and $(-1)^3$, to obtain



       list2=1,1,x,2*x,3*x,1,1,-x,-2*x,-3*x


      In this case, list1 was created with the code



      For[i = 1, i < 4, i++,
      For[j = 1, j < 4, j++,
      list1[i, j, p_] = Sort[Eigenvalues[mat[i, j, p]]];
      ] ]


      I have been trying to use Select but until now I am not been able to create list2 to plot it with



      list2=ParallelTable[Select[Abs[eigval[i, j, p][[3]]], 
      Abs[#] != 1 &] , i, 1, 4, j,1,4]


      I am still learning to uses cases in Mathematica so I am not sure how to do it. Do you know if there is wise way to do it? Thanks in advance.










      share|improve this question











      $endgroup$




      I need to create a new list from a nested list but using the evaluation as criteria to drop the elements. For example let's say that that I have the following list:



      list1=1,1,-(-1)^3,x,2*x,1,1,(-1)^3,x,2*x,
      1,1,x,2*x,3*x,1,1,-x,-2*x,-3*x


      and I need to eliminate the elements of list1 that the absolute value of the third element give $1$, i.d. $-(-1)^3$ and $(-1)^3$, to obtain



       list2=1,1,x,2*x,3*x,1,1,-x,-2*x,-3*x


      In this case, list1 was created with the code



      For[i = 1, i < 4, i++,
      For[j = 1, j < 4, j++,
      list1[i, j, p_] = Sort[Eigenvalues[mat[i, j, p]]];
      ] ]


      I have been trying to use Select but until now I am not been able to create list2 to plot it with



      list2=ParallelTable[Select[Abs[eigval[i, j, p][[3]]], 
      Abs[#] != 1 &] , i, 1, 4, j,1,4]


      I am still learning to uses cases in Mathematica so I am not sure how to do it. Do you know if there is wise way to do it? Thanks in advance.







      list-manipulation filtering






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Apr 11 at 16:30









      Roman

      5,73111131




      5,73111131










      asked Apr 11 at 13:50









      morsmors

      716




      716




















          4 Answers
          4






          active

          oldest

          votes


















          7












          $begingroup$

          If you prefer using DeleteCases,



          list2 = DeleteCases[list1, _?(Abs[#[[3]]] == 1 &)]



          1, 1, x, 2 x, 3 x, 1, 1, -x, -2 x, -3 x







          share|improve this answer









          $endgroup$




















            5












            $begingroup$

            Delete[
            list1,
            Position[Abs[list1[[All, 3]]], 1]
            ]



            1, 1, x, 2 x, 3 x, 1, 1, -x, -2 x, -3 x







            share|improve this answer









            $endgroup$




















              5












              $begingroup$

              if you want to use Select, try this



              Select[list1,!NumberQ@#[[3]]||Abs[#[[3]]]!=1&] 



              1, 1, x, 2 x, 3 x, 1, 1, -x, -2 x, -3 x







              share|improve this answer









              $endgroup$




















                1












                $begingroup$

                This is pretty efficient on unpacked arrays (the Listable attribute assumes list1[[All, 3]] is a flat list, as it is in the OP's example):



                Block[signal,
                SetAttributes[signal, Listable];
                signal[1] = 1; signal[_] = 0;
                Pick[list1, signal@Abs[list1[[All, 3]]], 0]
                ]
                (* 1, 1, x, 2 x, 3 x, 1, 1, -x, -2 x, -3 x *)


                (For packed arrays, one would probably want to use Unitize[x-1] instead of signal.)






                share|improve this answer









                $endgroup$













                  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
                  );



                  );













                  draft saved

                  draft discarded


















                  StackExchange.ready(
                  function ()
                  StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f195019%2fdropping-list-elements-from-nested-list-after-evaluation%23new-answer', 'question_page');

                  );

                  Post as a guest















                  Required, but never shown

























                  4 Answers
                  4






                  active

                  oldest

                  votes








                  4 Answers
                  4






                  active

                  oldest

                  votes









                  active

                  oldest

                  votes






                  active

                  oldest

                  votes









                  7












                  $begingroup$

                  If you prefer using DeleteCases,



                  list2 = DeleteCases[list1, _?(Abs[#[[3]]] == 1 &)]



                  1, 1, x, 2 x, 3 x, 1, 1, -x, -2 x, -3 x







                  share|improve this answer









                  $endgroup$

















                    7












                    $begingroup$

                    If you prefer using DeleteCases,



                    list2 = DeleteCases[list1, _?(Abs[#[[3]]] == 1 &)]



                    1, 1, x, 2 x, 3 x, 1, 1, -x, -2 x, -3 x







                    share|improve this answer









                    $endgroup$















                      7












                      7








                      7





                      $begingroup$

                      If you prefer using DeleteCases,



                      list2 = DeleteCases[list1, _?(Abs[#[[3]]] == 1 &)]



                      1, 1, x, 2 x, 3 x, 1, 1, -x, -2 x, -3 x







                      share|improve this answer









                      $endgroup$



                      If you prefer using DeleteCases,



                      list2 = DeleteCases[list1, _?(Abs[#[[3]]] == 1 &)]



                      1, 1, x, 2 x, 3 x, 1, 1, -x, -2 x, -3 x








                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered Apr 11 at 16:29









                      RomanRoman

                      5,73111131




                      5,73111131





















                          5












                          $begingroup$

                          Delete[
                          list1,
                          Position[Abs[list1[[All, 3]]], 1]
                          ]



                          1, 1, x, 2 x, 3 x, 1, 1, -x, -2 x, -3 x







                          share|improve this answer









                          $endgroup$

















                            5












                            $begingroup$

                            Delete[
                            list1,
                            Position[Abs[list1[[All, 3]]], 1]
                            ]



                            1, 1, x, 2 x, 3 x, 1, 1, -x, -2 x, -3 x







                            share|improve this answer









                            $endgroup$















                              5












                              5








                              5





                              $begingroup$

                              Delete[
                              list1,
                              Position[Abs[list1[[All, 3]]], 1]
                              ]



                              1, 1, x, 2 x, 3 x, 1, 1, -x, -2 x, -3 x







                              share|improve this answer









                              $endgroup$



                              Delete[
                              list1,
                              Position[Abs[list1[[All, 3]]], 1]
                              ]



                              1, 1, x, 2 x, 3 x, 1, 1, -x, -2 x, -3 x








                              share|improve this answer












                              share|improve this answer



                              share|improve this answer










                              answered Apr 11 at 14:01









                              Henrik SchumacherHenrik Schumacher

                              60.6k584170




                              60.6k584170





















                                  5












                                  $begingroup$

                                  if you want to use Select, try this



                                  Select[list1,!NumberQ@#[[3]]||Abs[#[[3]]]!=1&] 



                                  1, 1, x, 2 x, 3 x, 1, 1, -x, -2 x, -3 x







                                  share|improve this answer









                                  $endgroup$

















                                    5












                                    $begingroup$

                                    if you want to use Select, try this



                                    Select[list1,!NumberQ@#[[3]]||Abs[#[[3]]]!=1&] 



                                    1, 1, x, 2 x, 3 x, 1, 1, -x, -2 x, -3 x







                                    share|improve this answer









                                    $endgroup$















                                      5












                                      5








                                      5





                                      $begingroup$

                                      if you want to use Select, try this



                                      Select[list1,!NumberQ@#[[3]]||Abs[#[[3]]]!=1&] 



                                      1, 1, x, 2 x, 3 x, 1, 1, -x, -2 x, -3 x







                                      share|improve this answer









                                      $endgroup$



                                      if you want to use Select, try this



                                      Select[list1,!NumberQ@#[[3]]||Abs[#[[3]]]!=1&] 



                                      1, 1, x, 2 x, 3 x, 1, 1, -x, -2 x, -3 x








                                      share|improve this answer












                                      share|improve this answer



                                      share|improve this answer










                                      answered Apr 11 at 14:16









                                      J42161217J42161217

                                      4,598324




                                      4,598324





















                                          1












                                          $begingroup$

                                          This is pretty efficient on unpacked arrays (the Listable attribute assumes list1[[All, 3]] is a flat list, as it is in the OP's example):



                                          Block[signal,
                                          SetAttributes[signal, Listable];
                                          signal[1] = 1; signal[_] = 0;
                                          Pick[list1, signal@Abs[list1[[All, 3]]], 0]
                                          ]
                                          (* 1, 1, x, 2 x, 3 x, 1, 1, -x, -2 x, -3 x *)


                                          (For packed arrays, one would probably want to use Unitize[x-1] instead of signal.)






                                          share|improve this answer









                                          $endgroup$

















                                            1












                                            $begingroup$

                                            This is pretty efficient on unpacked arrays (the Listable attribute assumes list1[[All, 3]] is a flat list, as it is in the OP's example):



                                            Block[signal,
                                            SetAttributes[signal, Listable];
                                            signal[1] = 1; signal[_] = 0;
                                            Pick[list1, signal@Abs[list1[[All, 3]]], 0]
                                            ]
                                            (* 1, 1, x, 2 x, 3 x, 1, 1, -x, -2 x, -3 x *)


                                            (For packed arrays, one would probably want to use Unitize[x-1] instead of signal.)






                                            share|improve this answer









                                            $endgroup$















                                              1












                                              1








                                              1





                                              $begingroup$

                                              This is pretty efficient on unpacked arrays (the Listable attribute assumes list1[[All, 3]] is a flat list, as it is in the OP's example):



                                              Block[signal,
                                              SetAttributes[signal, Listable];
                                              signal[1] = 1; signal[_] = 0;
                                              Pick[list1, signal@Abs[list1[[All, 3]]], 0]
                                              ]
                                              (* 1, 1, x, 2 x, 3 x, 1, 1, -x, -2 x, -3 x *)


                                              (For packed arrays, one would probably want to use Unitize[x-1] instead of signal.)






                                              share|improve this answer









                                              $endgroup$



                                              This is pretty efficient on unpacked arrays (the Listable attribute assumes list1[[All, 3]] is a flat list, as it is in the OP's example):



                                              Block[signal,
                                              SetAttributes[signal, Listable];
                                              signal[1] = 1; signal[_] = 0;
                                              Pick[list1, signal@Abs[list1[[All, 3]]], 0]
                                              ]
                                              (* 1, 1, x, 2 x, 3 x, 1, 1, -x, -2 x, -3 x *)


                                              (For packed arrays, one would probably want to use Unitize[x-1] instead of signal.)







                                              share|improve this answer












                                              share|improve this answer



                                              share|improve this answer










                                              answered Apr 12 at 0:11









                                              Michael E2Michael E2

                                              151k12203483




                                              151k12203483



























                                                  draft saved

                                                  draft discarded
















































                                                  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.




                                                  draft saved


                                                  draft discarded














                                                  StackExchange.ready(
                                                  function ()
                                                  StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f195019%2fdropping-list-elements-from-nested-list-after-evaluation%23new-answer', 'question_page');

                                                  );

                                                  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







                                                  Popular posts from this blog

                                                  រឿង រ៉ូមេអូ និង ហ្ស៊ុយលីយេ សង្ខេបរឿង តួអង្គ បញ្ជីណែនាំ

                                                  Crop image to path created in TikZ? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Crop an inserted image?TikZ pictures does not appear in posterImage behind and beyond crop marks?Tikz picture as large as possible on A4 PageTransparency vs image compression dilemmaHow to crop background from image automatically?Image does not cropTikzexternal capturing crop marks when externalizing pgfplots?How to include image path that contains a dollar signCrop image with left size given

                                                  QGIS export composer to PDF scale the map [closed] Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Print Composer QGIS 2.6, how to export image?QGIS 2.8.1 print composer won't export all OpenCycleMap base layer tilesSave Print/Map QGIS composer view as PNG/PDF using Python (without changing anything in visible layout)?Export QGIS Print Composer PDF with searchable text labelsQGIS Print Composer does not change from landscape to portrait orientation?How can I avoid map size and scale changes in print composer?Fuzzy PDF export in QGIS running on macSierra OSExport the legend into its 100% size using Print ComposerScale-dependent rendering in QGIS PDF output