Tag: filter

  • 10 app chụp ảnh có filter đẹp

    10 app chụp ảnh có filter đẹp

    “Chụp ảnh phải có filter” gần như đã trở thành một khẩu quyết của chị em sống ảo. Nhưng trong số hàng ngàn app chụp hình trên điện thoại, bạn không biết phải lựa chọn app chụp ảnh nào có filter đẹp? Hãy cùng chúng tôi điểm qua 10 app chụp ảnh có filter đẹp nhất để có những bức ảnh nghìn likes trên Facebook, Instagram…

    Nếu bạn chưa biết filter là gì, thì có thể hiểu đây là các bộ lọc (hiệu ứng) được thêm vào bức ảnh giúp bạn trông đẹp hơn, lung linh hơn mà không cần mất công trang điểm; hoặc biến bạn thành các nhân vật hoạt hình, thêm tai thỏ, tai mèo…

    #1 App chụp ảnh có filter Ulike

    App chụp ảnh có filter đẹp
    App chụp ảnh có filter đẹp Ulike

    Nhắc đến các app chụp ảnh có filter đẹp không thể bỏ qua Ulike. App chỉnh ảnh này có rất nhiều filter đẹp với đa dạng tông màu từ Hàn Quốc, Nhật Bản cho đến cổ trang Trung Quốc.

    Chưa dừng lại ở đó, không chỉ là một app chụp ảnh tự sướng thần thánh, Ulike còn là một ứng dụng chụp ảnh đi du lịch mà bạn nhất định phải tải ngay lập tức. Bởi Ulike còn có bí kíp tạo dáng để bạn có thể tự căn chỉnh sao cho có 1 bức hình ưng ý nhất.

    Ưu điểm của Ulike là có bộ lọc đa dạng, gợi ý kiểu chụp (tạo dáng – pose), có hiệu ứng trang điểm nhiều phong cách và có thể chỉnh sửa ảnh chuyên nghiệp. Nhược điểm là nhiều filter có phí.

    Bạn có thể tải về phần mềm chụp ảnh đẹp – Ulike tại đường dẫn nhanh sau đây:

    #2 App chụp ảnh đẹp: SODA

    App chụp hình đẹp SODA cũng sẽ là cái tên được nhắc đến cùng SNOW và Ulike trong ngay thời điểm hiện tại. SODA “ảo ma Canada” là nhờ chế độ chỉnh sửa ảnh, màu sắc chất lượng mang đến trải nghiệm mới mẻ cho người dùng.

    10 app chụp ảnh có filter đẹp 1

    Ưu điểm của app SODA là:

    • Độ phân giải hình ảnh cao, chất lượng hình ảnh sắc nét.
    • Có nhiều kiểu chụp chân dung nghệ thuật cùng nhiều hiệu ứng mang chiều sâu và rất hiện đại.
    • Bộ lọc hiệu ứng, màu sắc được tối ưu hoá cho selfie tăng phần tự tin cho người dùng.

    Nhược điểm:

    • Thao tác chụp ảnh và lưu chậm.
    • Hiển thị logo SODA ở góc dưới ảnh

    Bạn có thể tải về App chụp hình đẹp – SODA tại đường dẫn nhanh sau đây:

    #3 App chụp ảnh có filter Pitu

    app chụp ảnh có filter
    App Pitu với nhiều hiệu ứng đẹp

    Pitu được biết đến là 1 trong những app selfie có filter đẹp nhất. Ứng dụng này được đánh giá rất cao trên App store (4.5/5 sao).

    Với ứng dụng chụp ảnh này bạn có thể vừa chỉnh gương mặt, dáng người lại vừa có thể hóa trang thành những nhân vật, người nổi tiếng. Cùng với đó là những hiệu ứng, cắt chỉnh ảnh cơ bản.

    Ưu điểm của app chụp ảnh có filter đẹp Pitu là có nhiều tính năng; bộ lọc đẹp; ứng dụng khá nhẹ; có thể tạo ảnh gif, emo đơn giản; tính năng trang điểm rất chân thật; có thể hóa trang thành các nhân vật nổi tiếng.

    #4 App chụp ảnh đẹp: Snapchat

    Snapchat vừa là app chụp hình đẹp và cũng vừa là mạng xã hội. Người dùng có thể kết nối, tương tác mạnh mẽ với nhau thông qua các video, chia sẻ hình ảnh và thông tin.

    Đặc biệt hơn, Snapchat còn có những hiệu ứng độc đáo mà không thể tìm được ở những ứng dụng khác như làm to đầu, hiệu ứng động vật, hiệu ứng nhân vật hoạt hình,… đã làm mưa làm gió trong thời gian qua.

    10 app chụp ảnh có filter đẹp 2

    Ưu điểm:

    • Vừa là ứng dụng chụp ảnh và đồng thời cũng là mạng xã hội.
    • Có nhiều hiệu ứng filter đầy tính sáng tạo mà những app chụp ảnh khác không có được.
    • Người dùng có thể vẽ trực tiếp lên hình ảnh trước khi đăng tải lên các mạng xã hội.

    Nhược điểm:

    • Là trang mạng xã hội nên để các tính năng liên quan đến chỉnh sửa ảnh không được chuyên sâu như những ứng dụng khác.

    Bạn có thể tải về App chụp ảnh đẹp – Snapchat tại đường dẫn nhanh sau đây:

    #5 App chụp ảnh có filter đẹp Beauty Plus

    app chụp ảnh có filter

    Ứng dụng selfie được hơn 800 triệu người sử dụng trên toàn thế giới  đủ để khẳng định sức mạnh của nó như thế nào rồi đúng không?

    BeautyPlus là ứng dụng chụp ảnh có filter đẹp, chỉnh sửa ảnh selfie đỉnh cao dành cho các cô nàng thích sống ảo. Với việc tích hợp nhiều bộ lọc làm đẹp cho làn da cũng như công cụ makeup sẵn có, chắc chắn sẽ khiến bạn muốn trải nghiệm ngay lập tức.

    Ưu điểm của Beauty Plus là nhiều filter đẹp, lạ, độc; tích hợp công cụ chỉnh sửa ảnh chuyên nghiệp; các hiệu ứng AR xịn sò.

    Nhược điểm là nhiều bộ lọc tính phí; có một số bộ lọc trông không tự nhiên.

    #6 App chụp ảnh có filter Lightroom

    10 app chụp ảnh có filter đẹp 3
    App Lightroom của Adobe – một ông lớn trong lĩnh vực phần mềm đồ họa

    Nếu để kể tên một ứng dụng chụp ảnh đang thịnh hành nhất hiện nay chắc chắn không thể bỏ qua Lightroom. Khác với những app chụp ảnh tự sướng, Lightroom thiên về chỉnh màu. Bạn có thể tự do sáng tạo những màu ảnh khác nhau dựa vào các cách chỉnh thông số. Đặc biệt, cách chỉnh màu này sẽ phụ thuộc rất nhiều vào cảm nhận và con mắt thẩm mỹ của bạn.

    Ưu điểm của app Lightroom là nhiều bộ lọc màu rất đẹp; khả năng chỉnh sửa hình ảnh như phần mềm chuyên nghiệp; rất nhiều tính năng thú vị.

    Nhược điểm là nhiều tính năng khó sử dụng với người mới.

    #7 App chụp ảnh có filter VSCO CAM

    App chụp ảnh có filter đẹp nhất
    App VSCO CAM

    Trước khi có Lightroom thì VSCO được xem là app chỉnh ảnh có filter đẹp nhất mà các nàng phải có. App có rất nhiều bộ lọc đẹp cũng như có 1 cộng đồng rất lớn thường chia sẻ các công thức chỉnh ảnh khác nhau.

    Ưu điểm của app VSCO CAM là có nhiều bộ lọc; chụp ảnh với nhiều hiệu ứng; cộng đồng sử dụng lớn; dễ sử dụng.

    Nhược điểm là có những bộ lọc tốn phí.

    #8 App chụp ảnh đẹp: Instagram

    Instagram là một mạng xã hội đang được sử dụng rộng rãi. Không chỉ vậy, ứng dụng này còn có thể chỉnh sửa hình ảnh và chia sẻ hình ảnh của họ chỉ trong vài giây.

    Đó là sự kết hợp tuyệt vời giữa nhiếp ảnh và cộng đồng. Instagram là nơi lý tưởng để khám phá những bức ảnh đầy cảm hứng từ rất nhiều thể loại.

    10 app chụp ảnh có filter đẹp 4

    Ưu điểm:

    • Là một nền tảng chia sẻ ảnh lớn nhất với hơn 800 triệu người dùng, có thể tạo lượng người theo dõi trên Instagram.
    • Khám phá những hình ảnh đầy cảm hứng, thông tin hữu ích về chỉnh sửa ảnh. Nhắn tin trực tiếp một cách riêng tư với bạn bè và mọi người.
    • Chỉnh sửa ảnh của bạn ngay trước khi bạn chia sẻ chúng.

    Nhược điểm:

    • Công cụ hạn chế để chỉnh sửa hình ảnh: bạn chỉ có một vài chục hiệu ứng (bộ lọc) và các tùy chọn bổ sung phải được tải xuống riêng.

    Bạn có thể tải về app Instagram tại đường dẫn nhanh sau đây:

    #9 App chụp ảnh đẹp: FaceU

    FaceU là một trong những phần mềm chụp ảnh đẹp, app nhiếp ảnh hàng đầu. Có khoảng 300 triệu người dùng trên thế giới, được nhiều người dùng ưa thích, đặc biệt là hai quốc gia Nhật Bản và Hàn Quốc.

    Với nhiều hiệu ứng và tính năng chỉnh sửa ảnh, FaceU giúp bạn có những bức ảnh đẹp, tạo thành một tác phẩm nghệ thuật.

    10 app chụp ảnh có filter đẹp 5

    Ưu điểm:

    • Sticker đa dạng và bắt kịp xu hướng, người dùng có thể tự lựa chọn cho mình một Sticker độc đáo theo cách của riêng mình.
    • Bộ lọc chuyên nghiệp được đầu tư và thiết kế kỹ lưỡng.
    • Biểu tượng cảm xúc được sử dụng rộng rãi, cho phép người dùng tự sáng tạo biểu tượng cảm xúc cho mình.

    Nhược điểm: 

    • Theo như feedback người dùng thì phần chỉnh sửa ảnh của FaceU vẫn chưa được hoàn thiện, còn một số lỗi nhỏ cần cải thiện thêm.

    #10 App chụp ảnh đẹp: Camera 360

    Camera360 – ứng dụng chụp ảnh đẹp, fix màu quen thuộc với các thế hệ đời đầu của smartphone. Hiện tại, phần mềm vẫn tập trung cải tiến công nghệ xử lý hình ảnh sao cho tạo hình được thiết thực và rõ nét nhất.

    10 app chụp ảnh có filter đẹp 6

    Ưu điểm:

    • Selfie độ nét cao.
    • Điều chỉnh kết cấu khuôn mặt bằng 21 kiểu tiểu phẫu nhỏ, không lộ dấu vết Photoshop.

    Nhược điểm:

    • Hay xuất hiện quảng cáo có thể sẽ làm bạn khó chịu
    • Hiệu ứng, bộ lọc màu không đa dạng

    Tải ứng dụng chụp ảnh Camera 360 bằng đường link dưới đây:

  • Hàm ẩn danh trong Python

    Hàm ẩn danh trong Python

    Hàm ẩn danh trong Python

    Hàm ẩn danh trong Python là gì? Cách khai báo hàm lambda trong Python. Ví dụ về hàm lambda trong Python sử dụng với hàm filter và hàm map() trong Python.

    Hàm ẩn danh trong Python là gì?

    • Hàm ẩn danh trong Python (còn gọi là hàm nặc danh –  anonymous function) là một hàm được định nghĩa mà không có tên và câu lệnh return.
    • Các hàm bình thường sử dụng từ khóa def để định nghĩa thì các hàm ẩn danh được định nghĩa bằng từ khóa lambda. Vì vậy các hàm ẩn danh còn được gọi là các Lambda Function.
    • Các hàm ẩn danh lambda  có thể khai báo, định nghĩa ở bất kỳ đâu và không có khả năng tái sử dụng. Lambda chỉ tồn tại trong phạm vi của biến mà nó được định nghĩa, vì vậy nếu như biến đó vượt ra ngoài phạm vi thì hàm này cũng không còn tác dụng nữa.
    • Hàm nặc danh lambda thường được dùng để gán vào biến, hay được gán vào hàm, class như một tham số.

    Cách khai báo hàm lambda trong Python

    Cú pháp của Lambda Function trong python

    lambda arguments_list: expression
    • lambda là keyword bắt buộc
    • arguments_list là các tham số truyền vào lambda
    • expression là các biểu thức xử lý lambda

    Các hàm lambda có thể có bất kỳ số đối số nào nhưng chỉ có một biểu thức expression. Các lambda function có thể được sử dụng ở bất cứ chỗ nào yêu cầu các đối tượng hàm. Hàm lambda không có câu lệnh return mà chính giá trị của biểu thức expression được sử dụng làm kết quả trả về  của hàm.

    Cú pháp khai báo Hàm ẩn danh trong Python là gì

    Ví dụ về hàm lambda trong Python

    Ví dụ sau khai báo một lambda function để tính tổng của 2 biến:

    add = lambda a, b: a + b
    
    # sử dụng hàm lambda bằng cách sử dụng biến add
    add(3, 4) #kết quả 7
    

    Kiểm tra xem hàm lambda ở trên có kiểu dữ liệu là gì:

    add = lambda a, b: a + b
    
    type(add) # kết quả function

    Hàm sau dùng để nhân đôi giá trị của tham số

    double = lambda x: x * 2
    print(double(5)) #kết quả 10

    Function này sẽ không có tên. Nó trả về một object được định danh là double. Giờ thì chúng ta có thể gọi nó như một hàm bình thường. Ví dụ:

    double = lambda x: x * 2

    Nó sẽ tương tự như các khai báo function như sau:

    def double(x):
        return x * 2

    Khi nào nên sử dụng hàm nặc danh lambda?

    Chúng ta thường sử dụng lambda function khi mà cần một hàm không tên trong một khoảng thời gian ngắn. Ví dụ như sử dụng lambda function làm đối số cho một hàm bậc cao hơn (một hàm mà có thể nhận các hàm khác làm đối số) chẳng hạn hàm filter() hàm map()

    Hàm filter trong Python

    Hàm filter() trong Python lọc ra các phần tử theo điều kiện của hàm func từ list, dict… Hàm này sẽ chỉ trả về những giá trị mà điều kiện trong func chấp nhận (có nghĩa là True). Cú pháp của hàm filter() như thế nào, nó có những tham số gì và cách sử dụng ra sao? Mời bạn đọc theo dõi.

    Cú pháp hàm filter() trong Python

    filter(func, iterable)

    Hàm filter() có 2 tham số:

    • func: là hàm điều kiện để kiểm tra các phần tử trong interable có thỏa mãn điều kiện đó hay không. Kết quả của hàm func này là đúng True hoặc sai False.
    • interable: là các iterable cần lọc, có thể là set, list, tuple hoặc container.

    Đây là một ví dụ sử dụng hàm filter() để chỉ lọc ra các số chẵn từ một danh sách.

    my_list = [1, 5, 4, 6, 8, 11, 3, 12, 17, 21]
    
    new_list = list(filter(lambda x: (x%2 == 0) , my_list))
    
    print(new_list) #kết quả:  [4, 6, 8, 12]

    Xem thêm Kiểu dữ liệu list danh sách trong Python

    Hàm map() trong Python

    Hàm map() tích hợp sẵn trong Python có tác dụng duyệt tất cả các phần tử của một iterable (list, tuple, dictionary…) qua một hàm cho trước và trả về một list kết quả sau khi thực thi.

    Cú pháp hàm map() trong Python

    map(function, iterable, ...)

    • function: Hàm thực thi cho từng phần tử trong iterable.
    • iterable: Một list, tuple, dictionary… muốn duyệt.

    Bạn có thể truyền nhiều iterable cho hàm map().

    Hàm map() duyệt tất cả các phần tử của iterable qua function và trả về một list kết quả sau khi thực thi.

    Giá trị trả về từ map() được gọi là map object. Kết quả này có thể được truyền vào các hàm list() (để tạo list trong Python), hay set() (để tạo một set các phần tử mới)…

    Ví dụ sau tạo một danh sách mới bằng cách nhân đôi các phần tử của danh sách ban đầu:

    my_list = [1, 5, 4, 6, 8, 11, 3, 12]
    
    new_list = list(map(lambda x: x * 2 , my_list))
    
    print(new_list) #Kết quả: [2, 10, 8, 12, 16, 22, 6, 24]
  • Kiểu dữ liệu list danh sách trong Python

    Kiểu dữ liệu list danh sách trong Python

    Kiểu dữ liệu list danh sách trong Python

    Danh sách trong Python kí hiệu là list, hiểu đơn là một tập hợp các đối tượng có chung một tính chất nào đó. Ví dụ danh sách các món ăn trên bàn tiệc, danh sách các bài hát của một album, danh sách học sinh trong một lớp học…

    Ta thấy ngay, mỗi danh sách đều gồm có các phần tử khác nhau, để liệt kê chúng, chẳng hạn liệt kê các thực phẩm cần mua cho bữa liên hoan, bạn sẽ sử dụng dấu phẩy để ngăn cách các phần tử này. Python cũng vậy, tuy nhiên, các danh sách các phần tử cần được đặt trong cặp ngoặc vuông [].

    1. Giới thiệu kiểu danh sách trong Python

    Để khai báo một danh sách, chúng ta dùng liệt kê các phần tử của danh sách, được đặt trong cặp ngoặc vuông [], các phần tử được ngăn cách nhau bởi dấu phảy ,. Mỗi phần tử trong danh sách có thể có kiểu bất kỳ như str, float, hay int

    Ví dụ sau tạo một danh sách mon_an gồm có các phần tử kiểu xâu str là các món canh cua, cà pháo, cá khothịt rán.

    >>> mon_an = ['canh cua', 'ca phao', 'ca kho', 'thit ran']

    Một danh sách không có thể phần tử, gọi là danh sách rỗng.

    >>> ban_gai = []
    >>> ban_gai
    []

    Để truy cập vào một phần tử của danh sách list trong Python, ta dùng tên danh sách theo sau là chỉ số index của phần tử đó được đặt trong cặp ngoặc vuông.

    >>> mon_an[3]
    'thit ran'

    Cũng giống như kiểu xâu str, các chỉ số index của một danh sách list được đánh số bắt đầu từ 0. Kiểu danh sách có thể hiểu gần giống như kiểu mảng array trong các ngôn ngữ lập trình khác.

    Không như kiểu xâu str, là những đối tượng immutable, thì kiểu danh sách là đối tượng mutable, tức ta có thể thay đổi các phần tử của một danh sách. Chẳng hạn, thay cà pháo bằng dưa muối, ta sẽ gán giá trị mới cho phần tử mon_an[1].

    >>> mon_an[1] = 'dua muoi'
    >>> mon_an
    ['canh cua', 'dua muoi', 'ca kho', 'thit ran']

    2. Các phép toán và phương thức của kiểu danh sách

    Cũng giống như kiểu xâu str, kiểu danh sách list cũng có các phép toán và phương thức đặc thù. Chúng ta sẽ lần lượt tìm hiểu các toán tử và phương thức/hàm của kiểu danh sách trong Python.

    2.1. Toán tử in

    Toán tử in dùng để kiểm tra xem một phần tử có nằm trong danh sách hay không, kết quả trả về của toán tử này là kiểu boolean đúng True hoặc sai False.

    >>> mon_an = ['canh cua', 'ca phao', 'ca kho', 'thit ran']
    >>> 'canh cua' in mon_an
    True
    >>> 3000 in mon_an
    False

    Bạn cũng có thể sử dụng toán tử in để duyệt danh sách trong vòng lặp for như sau.

    >>> for i in mon_an:
    ...     print(i)
    ...
    canh cua
    ca phao
    ca kho
    thit ran

    2.2. Toán tử +

    Toán tử + cho phép ghép nối hai danh sách với nhau. Lưu ý rằng toán tử + này tương tự phép cộng hai xâu (chuỗi, string) chứ không giống như toán tử cộng các số.

    >>> a = [1, 2, 3]
    >>> b = ['x', 'y', 'z', 'a']
    >>> a + b
    [1, 2, 3, 'x', 'y', 'z', 'a']

    2.3. Toán tử *

    Tương tự toán tử * dùng để lặp lại các phần tử trong danh sách lên k lần.

    >>> a = [0] * 4
    >>> a
    [0, 0, 0, 0]

    2.4. Phương thức append()

    Phương thức <ds>.append(<pt>) này sẽ thêm phần tử <pt> vào cuối danh sách <ds>.

    >>> ds = [1, 2, 3, 4]
    >>> ds.append(5)
    >>> ds
    [1, 2, 3, 4, 5]

    2.5. Phương thức extend()

    Phương thức <ds1>.extend(<ds2>) này sẽ thêm các phần tử của danh sách <ds2> vào cuối của danh sách <ds1>

    >>> l1 = [1, 2, 3]
    >>> l2 = [4, 5, 6, 7]
    >>> l1.extend(l2)
    >>> print(l1)
    [1, 2, 3, 4, 5, 6, 7]

    2.6. Phương thức sort()

    Phương thức <ds>.sort() giúp sắp xếp các phần tử của danh sách <ds> theo thứ tự phần tử từ nhỏ đến lớn, đối với kiểu chuỗi thì sắp theo thứ tự alphabet. Lưu ý rằng các phần tử của danh sách phải thuộc cùng một kiểu dữ liệu, cùng kiểu chuỗi hoặc cùng kiểu số…, tức là các phần tử của danh sách phải so sánh được với nhau.

    >>> ds_so = [1, 5, 7, 3, 2, 9]
    >>> ds_so.sort()
    >>> ds_so
    [1, 2, 3, 5, 7, 9]
    >>> ds_xau = ['a', 'e', 'b', 'g', 'i', 'Aa']
    >>> ds_xau.sort()
    >>> ds_xau
    ['Aa', 'a', 'b', 'e', 'g', 'i']

    2.7. Phương thức pop()

    Phương thức <ds>.pop(i) xóa phần tử có chỉ số i của danh sách <ds>, kết quả trả về chính là giá trị của phần tử có chỉ số i đó. Nhắc lại rằng, các phần tử của danh sách được đánh chỉ số từ 0

    >>> ds = [1, 5, 7, 3, 2, 9]
    >>> ds.pop(1)
    5
    >>> ds
    [1, 7, 3, 2, 9]

    2.8. Toán tử del

    Toán tử del <ds>[i] để xóa phần tử có chỉ số i của danh sách <ds> hoặc del <ds>[i:j] một phần của danh sách từ chỉ sối đến chỉ số j.

    >>> ds = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> del ds[0]
    >>> ds
    [2, 3, 4, 5, 6, 7, 8, 9]
    >>> del ds[1:3]
    >>> ds
    [2, 5, 6, 7, 8, 9]

    2.9. Phương thức remove()

    Phương thức pop() xóa bỏ phần tử của danh sách dựa trên chỉ số của phần tử đó, thì phương thức <ds>.remove(<pt>) sẽ xóa bỏ phần tử có giá trị <pt> đầu tiên của danh sách <ds> khỏi danh sách đó. Giá trị trả về của phương thức remove()None.

    ds = [1, 2, 3, 4, 5, 6, 7, 8, 8, 9]
    >>> ds.remove(8)
    >>> ds
    [1, 2, 3, 4, 5, 6, 7, 8, 9]

    Nếu bạn muốn xóa bỏ tất cả các phần tử có giá trị <pt> khỏi danh sách <ds>, có thể làm như sau:

    >>> ds = [1, 2, 3, 4, 5, 6, 7, 8, 8, 9]
    >>> while 8 in ds: ds.remove(8)
    >>> ds
    [1, 2, 3, 4, 5, 6, 7, 9]

    3. Xử lý danh sách trong Python

    Các thao tác thường được thực hiện trên list trong Python là xử lý từng phần tử của list, lọc lấy một số phần tử thỏa điều kiện nào đó, tính toán trên tất cả các phần tử của list.

    Để đơn giản việc xử lý danh sách list, Python hỗ trợ một số hàm có sẵn để thực hiện các tác vụ trên gồm map(), filter(), reduce()

    3.1. Hàm map() để xử lý danh sách trong Python

    Sử dụng câu lệnh map(func, seq) sẽ áp dụng hàm func cho mỗi phần tử của seq và trả về list kết quả.

    Ví dụ, tính bình phương các số có trong list a sử dụng map():

    a = [1, 2, 3, 4, 5]
    def binh_phuong(x):
       return x*x
    print(list(map(binh_phuong,a)))

    Có thể sử dụng hàm nặc danh lamda thay vì viết riêng một hàm binh_phuong.

    >>> a = [1, 2, 3, 4, 5]
    >>> print(list(map(lambda x: x*x, a)))
    [1, 4, 9, 16, 25]

    Thêm một ví dụ nữa, chúng ta sẽ cộng tương ứng từng phần tử của hai danh sách có cùng số lượng phần tử:

    numbers1 = [1, 2, 3] 
    numbers2 = [4, 5, 6] 
      
    result = map(lambda x, y: x + y, numbers1, numbers2) 
    print(list(result))

    3.2. Hàm filter() xử lý kiểu dữ liệu danh sách trong Python

    Hàm filter(func, list) sẽ  lần lượt gọi hàm func với tham số lần lượt là từng phần tử của danh sách list và trả về danh sách gồm các phần tử thỏa mãn hàm func. Lưu ý rằng hàm func phải là hàm mà kết quả trả về thuộc kiểu Boolean True hoặc False, tức là hàm func như là một hàm điều kiện để lọc ra các phần tử của danh sách list thỏa mãn điều kiện đó.

    Ví dụ lọc ra các số chẵn từ danh sách a.

    a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    def so_chan(number):
       if number % 2 == 0:
          return True
       else:
          return False
    
    print (list(filter(so_chan, a)))

    Hoặc, sử dụng hàm nặc danh lambda, ta có thể viết chương trình gọn hơn như sau:

    >>> a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> print (list(filter(lambda x: x%2 == 0, a)))
    [2, 4, 6, 8]

    Thêm một ví dụ nữa, sử dụng hàm filter() để in ra các nguyên âm trong một danh sách:

    def nguyen_am(x): 
        ds_nguyen_am = ['a', 'e', 'i', 'o', 'u'] 
        if (x in ds_nguyen_am): 
            return True
        else: 
            return False
    
    ds = ['g', 'e', 'e', 'j', 'k', 's', 'p', 'r'] 
      
    kq = filter(nguyen_am, ds) 
    
    for s in kq: 
        print(s)

    3.3. Hàm reduce() xử lý kiểu dữ liệu danh sách trong Python

    Hàm reduce(func, <ds>) sẽ tính toán, áp dụng hàm func với các phần tử của danh sách và trả về kết quả của.

    Hàm func là một hàm nhận vào 2 tham số có dạng func(arg1, arg2) trong đó arg1 là kết quả tính toán với các phần tử trước, arg2 là giá trị của phần tử của danh sách đang được tính toán.

    Cách thức hoạt động của hàm reduce() chi tiết như sau:

    • Ở bước đầu tiên, hai phần tử đầu tiên của danh sách <ds> được lấy và cung cấp cho hàm func thu được một kết quả kq.
    • Bước tiếp theo, hàm func nhận tham số là kết quả kq đạt được ở bước trước và phần tử tiếp theo của danh sách <ds>, kết quả tính toán lại được sử dụng như một tham số cho bước tiếp theo.
    • Quá trình này tiếp tục cho đến khi không còn phần tử nào trong danh sách <ds>.
    • Kết quả trả về của hàm reduce() là kết quả ở bước cuối cùng của hàm func.

    Lưu ý rằng, hàm reduce nằm trong thư viện functools, nên cần phải khai báo import functools trước khi sử dụng hàm reduce().

    Ví dụ sau in ra tổng các giá trị của danh sách và phần tử lớn nhất của danh sách.

    from functools import *
      
    ds = [ 1 , 3, 5, 6, 2, ] 
    
    print ("Tong cac phan tu cua danh sach la: ",end="") 
    print (reduce(lambda a,b : a+b, ds)) 
      
    
    print ("Phan tu lon nhat cua danh sach la: ",end="") 
    print (reduce(lambda a,b : a if a > b else b, ds))

    Ví dụ tính tổng bình phương của các phần tử trong danh sách a

    a = [1, 2, 3, 4, 5]
    
    def tong_binh_phuong(kq, x):
       return kq + x*x
    
    print(reduce(tong_binh_phuong, a))

    4. Danh sách của danh sách, kiểu danh sách nhiều chiều trong Python

    Các phần tử của một danh sách danh sách trong Python lại có thể là một danh sách, chẳng hạn

    >>> A = [[1,2,3], [4,5,6], [7,8,9,10,11]]
    >>> A[1]
    [4, 5, 6]
    >>> A[1][2]
    6
    >>> A[2][4]
    11
    >>> A[1][5]
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    IndexError: list index out of range

    Danh sách A gồm có ba phần tử, mỗi phần tử lại là một danh sách [1,2,3], [4,5,6], [7,8,9,10,11]. Khi đó, để truy cập đến phần tử j của danh sách A[i] nằm trong danh sách  A ta dùng cú pháp A[i][j].

    Kiểu dữ liệu này tương ứng với kiểu mảng hai chiều array, hoặc là ma trận, trong các ngôn ngữ khác. Tuy nhiên, nếu một ma trận thì, nếu xét riêng từng dòng, bắt buộc các dòng phải có số cột như nhau. Nhưng ở đây thì khác, nếu ta viết lại list A ở trên, mỗi phần tử viết trên một dòng thì ta sẽ có dạng gần giống ma trận, do số cột của từng dòng là khác nhau

    [1,2,3]
    [4,5,6]
    [7,8,9,10,11]

    Rõ ràng, kiểu danh sách của danh sách này linh hoạt hơn – nhưng cũng đồng nghĩa với khó kiểm soát hơn – kiểu mảng hai chiều trong các ngôn ngữ khác.

    5. Danh sách và chuỗi

    Bạn có thể kết hợp danh sách và chuỗi để tách các ký tự trong chuỗi thành một danh sách, sử dụng hàm ép kiểu list() như sau.

    >>> s = 'phan van phuong'
    >>> list(s)
    ['p', 'h', 'a', 'n', ' ', 'v', 'a', 'n', ' ', 'p', 'h', 'u', 'o', 'n', 'g']
    Hoặc có thể tách một chuỗi thành danh sách gồm các phần tử cách nhau bởi <kí_tự_tách> bằng hàm split(<kí_tự_tách>), mặc định <kí_tự_tách> là khoảng trắng.
    >>> s = 'phan van phuong'
    >>> s.split()
    ['phan', 'van', 'phuong']
    >>> s.split('n')
    ['pha', ' va', ' phuo', 'g']

    6. Bài tập kiểu list danh sách trong Python

    Bài 1. Cho một list các số nguyên. Viết chương trình tìm phần tử lớn nhất của list đó.

    Bài 2. Cho một list các số nguyên. Viết chương trình in ra tất cả các phần tử lớn là số chẵn và lớn hơn 10 của list đó.

    Bài 3. Viết chương trình tính số trung bình các giá trị của một list số nguyên.

    Bài 4. Tạo một list gồm n số nguyên không âm ngẫu nhiên.

    Xem thêm về các kiểu dữ liệu list (danh sách trong Python) tại https://www.w3schools.com/python/python_lists.asp