Simple câu hỏi, đưa ra một danh sách như thế nàyLàm thế nào để loại bỏ các phụ {} khi Lập bản đồ một chức năng vào một danh sách
Clear[a, b, c, d, e, f];
lst = {{a, b}, {c, d}, {e, f}};
và cho rằng tôi có một hàm được định nghĩa như thế này:
foo[x_,y_]:=Module[{},...]
Và Tôi muốn áp dụng chức năng này vào danh sách, vì vậy Nếu tôi nhập
Map[foo, lst]
Điều này cung cấp
{foo[{a, b}], foo[{c, d}], foo[{e, f}]}
Tôi muốn nó đi ra như
{foo[a, b], foo[c, d], foo[e, f]}
để nó hoạt động.
Cách tốt nhất để làm điều này là gì? Giả sử tôi không thể thay đổi chức năng foo [] định nghĩa (nói nó là xây dựng-in)
Chỉ 2 cách tôi biết bây giờ là
Map[foo[#[[1]], #[[2]]] &, lst]
{foo[a, b], foo[c, d], foo[e, f]}
(quá nhiều công việc), hoặc
MapThread[foo, Transpose[lst]]
{foo[a, b], foo[c, d], foo[e, f]}
(ít đánh máy hơn, nhưng cần phải chuyển vị trí trước)
Câu hỏi: Còn cách nào khác tốt hơn để làm điều này? Tôi đã xem bản đồ khác và bạn bè của nó, và tôi không thể nhìn thấy một chức năng để làm điều đó trực tiếp hơn những gì tôi có.
[Liên quan] (http://stackoverflow.com/q/5746717/499167) câu hỏi: ** Áp dụng danh sách cho các đối số trong Mathematica ** – tomd