Wolfram Language

Lenguaje de núcleo

Concordancia de patrones con asociaciones

La versión 11 introduce varias funciones para simplificar la manipulación y concordancia de patrones de asociaciones.

Utilice KeyMemberQ y KeyFreeQ para probar si una clave es o no parte de una asociación.

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 le permite concordar una asociación completa que contenga una o más reglas dadas.

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]=

Calcule datos en el campo gravitacional en varios puntos de la Tierra.

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

Seleccione los casos en los cuales la magnitud del campo es mayor que el valor promedio estándar.

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

Utilice KeyValueMap para procesar más allá cada par de clave-valor.

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

Ejemplos relacionados

de en fr ja ko pt-br ru zh