Wolfram Language

Langage de base

Filtrage par motif avec les associations

La version 11 introduit plusieurs fonctions pour simplifier la manipulation et le filtrage par motif des associations.

Utilisez KeyMemberQ et KeyFreeQ pour tester si oui ou non une clé fait partie d'une association.

In[1]:=
Click for copyable input
KeyMemberQ[<|a -> 1, b -> 2, c -> 3|>, a]
Out[1]=
In[2]:=
Click for copyable input
KeyFreeQ[<|a -> 1, b -> 2, c -> 3|>, a]
Out[2]=

KeyValuePattern vous permet de faire correspondre une association complète contenant une ou plusieurs règles données.

In[3]:=
Click for copyable input
MatchQ[<|a -> 1, b -> 2, c -> 3|>, KeyValuePattern[b -> _]]
Out[3]=
In[4]:=
Click for copyable input
MatchQ[<|a -> 1, b -> 2, c -> 3|>, KeyValuePattern[{c -> _, a -> _}]]
Out[4]=

Calculez les données du champ gravitationnel en plusieurs points de la Terre.

In[5]:=
Click for copyable input
points = {{40, -100, 691}, {30, -120, 560}, {80, 70, 91}}; data = GeogravityModelData /@ points
Out[5]=

Sélectionnez les cas pour lesquels l'amplitude du champ est supérieure à la valeur moyenne standard.

In[6]:=
Click for copyable input
Cases[data, KeyValuePattern[ "Magnitude" -> _?(GreaterThan[ Quantity[1, "StandardAccelerationOfGravity"]])]]
Out[6]=

Utilisez KeyValueMap pour continuer à traiter chaque paire clé-valeur.

In[7]:=
Click for copyable input
Cases[data, KeyValuePattern[ "Magnitude" -> _?(GreaterThan[ Quantity[1, "StandardAccelerationOfGravity"]])]]; KeyValueMap[ EntityProperty["GeogravityModel", #1] -> UnitConvert[#2, "Imperial"] &, First[%]]
Out[7]=

Exemples connexes

de en es ja ko pt-br ru zh