В мире Erlang для типов данных фиксированного размера мы используем tuple
s. Ваш список может расти, но я думаю, что его элементы имеют фиксированный размер, поэтому я рекомендую использовать кортеж для его элементов, и вы можете использовать функции API модулей списки и proplists :
1> List = [{"1", "Apple"}, {"2", "Orange"}, {"3", "Apple"}].
[{"1","Apple"},{"2","Orange"},{"3","Apple"}]
%% Search in List for a tuple which its 2nd element is "Apple":
2> lists:keyfind("Apple", 2, List).
{"1","Apple"}
3> lists:keyfind("Unknown", 2, List).
false
%% Take first Tuple which its 2nd element is "Apple", Also yield Rest of List:
4> lists:keytake("Apple", 2, List).
{value,{"1","Apple"},[{"2","Orange"},{"3","Apple"}]}
%% Replace a tuple which its 1st element is "3" with {"3", "Banana"}
5> lists:keyreplace("3", 1, List, {"3", "Banana"}).
[{"1","Apple"},{"2","Orange"},{"3","Banana"}]