I have a list of tuples eg. [{1,40},{2,45},{3,54}....{7,23}] where 1...7 are days of the week (calculated by finding calendar:day_of_the_week()). So now I want to change the list to [{Mon,40},{Tue,45},{Wed,54}...{Sun,23}]. Is there an easier way to do it than lists:keyreplace?
+2
A:
Simple. Use map and a handy tool from the httpd module.
lists:map(fun({A,B}) -> {httpd_util:day(A),B} end, [{1,40},{2,45},{3,54},{7,23}]).
Jon Gretar
2008-10-01 11:02:03
+8
A:
...or using a different syntax:
[{httpd_util:day(A), B} || {A,B} <- L]
where L = [{1,40},{2,45},{3,54}....{7,23}]
The construct is called a "list comprehension", and reads as "Build a list of {httpd_util:day(A),B} tuples, where {A,B} is taken from the list L"
http://www.erlang.org/doc/programming_examples/list_comprehensions.html#3