Map, filter, reduce Notes
TIL
500
White

Manh Truong Tuan viết ngày 24/10/2016

Map, filter Notes

1.Map

Tính bình phương của từng thành phần trong mảng

1.1 Python

Traditional way

items = [1, 2, 3, 4, 5]
squared = []
for i in items:
    squared.append(i**2)

Map way:

items = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, items))

Fomula : map(function_to_apply, list_of_inputs)

1.2 C++

vector<int> items = {1,2,3,4};
for (auto &e: items)
{
    e = e* e;
};

Map way

  vector<int> items = {1,2,3,4};
  transform(items.begin(), items.end(), items.begin(),
     [](auto e){return e*e;} );

1.3 Ruby

Original

items = [1,2,3,4,5]
squared = []
items.each {|x| squared << x * x}

Map way

items = [1,2,3,4,5]
squared = items.map { |x| x*x }

2. Filter

Bài toán: Chỉ giữ lại những thành phần thỏa mãn giá trị nhở hơn 3 hoặc lớn hơn 8 trong mảng

2.1 Python

vec = [1,3,5,7,9]
filter(lambda x: x<3 or x>8 , vec) 

2.2 C++

vector<int> vec = {1, 3, 5, 7, 9};
remove_if(vec.begin(),vec.end(),
    [](int i){ return !((i < 3) or (i > 8)) });

2.3 Ruby

vec = [1,3,5,7,9]
vec.select { |x| x <  3 or x > 8 }

3. Reduce

Bài toán: Tính tổng giá trị các thành phần của mảng

3.1 Python

reduce(lambda x, y: x + y, vec, 0)

3.2 C++

accumulate(vec.begin(), vec.end(), 0,
    [](int a, int b){ return a+b;})

3.3 Ruby

vec.inject { |sum, x| sum + x }
Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Manh Truong Tuan

6 bài viết.
2 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
3 3
Sử dụng Terminal hiệu quả hơn với tmux (Link) 1. Cài đặt bash $ sudo E addaptrepository ppa:pirho/dev $ sudo aptget update $ sudo aptget install...
Manh Truong Tuan viết hơn 1 năm trước
3 3
White
1 0
Bài toán là 1 mô hình kiểu mạng xã hội đơn giản, trong đó user nhấn vào 1 nút Add friend hoặc Follow để cho 1 user khác vào danh sách theo dõi ( để...
Manh Truong Tuan viết hơn 1 năm trước
1 0
White
1 0
Note về Regex Tổng hợp lại những kiến thức cơ bản về Regex mà mình đã được thực hành tại regexone.com Tìm kiếm đúng một chuỗi Cách này gần như ...
Manh Truong Tuan viết hơn 1 năm trước
1 0
Bài viết liên quan
White
18 1
Toán tử XOR có tính chất: + A XOR A = 0 + 0 XOR A = A Với tính chất này, có thể cài đặt bài toán sau với độ phức tạp O(N) về runtime, và với O(1)...
kiennt viết hơn 1 năm trước
18 1
White
1 1
Chào mọi người, hôm nay mình viết một bài TIL nhỏ về cách lấy độ phân giải của màn hình hiện tại đang sử dụng. xdpyinfo | grep dimensions Kết quả...
namtx viết 7 tháng trước
1 1
White
8 0
Lấy fake path của file trong html input Ngữ cảnh: em cần làm một cái nút tải ảnh lên có preview. GIải pháp đầu: Dùng (Link) đọc file ảnh thành ba...
Hoàng Duy viết gần 2 năm trước
8 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
6 bài viết.
2 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!