Hàm max() trong Python

Hàm Max trong Python được dùng như thế nào? Ở bài viết này, hãy cùng Quantrimang.com tìm hiểu mọi điều bạn cần biết về hàm max Python nhé!

Nếu hỏi ngành nào đang được săn đón nhất hiện nay, chắc chắn câu trả lời bạn nhận được nhiều nhất sẽ là lập trình. Công nghệ ngày càng phát triển, chúng ta càng thấy rõ được tầm quan trọng của lập trình. Đây là cái gốc của “công nghệ”. Rất nhiều sản phẩm, chương trình tuyệt vời đã ra đời từ lĩnh vực này.

Lập trình thực sự không phải môn học “dễ nuốt” nhưng cũng không quá khó nếu bạn thực sự đam mê và quyết tâm theo đuổi. Lập trình có rất nhiều ngôn ngữ khác nhau cho bạn lựa chọn, nổi bật trong số đó chính là Python.

Python rất được ưa thích bởi nó là ngôn ngữ lập trình dễ học và dễ sử dụng ngay cả với người mới bắt đầu. Ngoài ra, nó còn mang tới những thư viện và mô đun chuẩn, giúp việc lập trình ứng dụng nhanh chóng hơn.

Tương tự như những ngôn ngữ lập trình khác, để nắm được cách dùng Python, bạn phải hiểu những hàm cơ bản của nó. Quantrimang.com sẽ cung cấp cho bạn kiến thức cơ bản về từng hàm. Ở bài viết này, chúng ta sẽ cùng nhau tìm hiểu về hàm max() trong Python nhé!

Hàm max() được tích hợp sẵn trong Python trả về phần tử lớn nhất trong một iterable hoặc lớn nhất trong những tham số truyền vào.

Nếu các giá trị là các chuỗi sẽ so sánh theo thứ tự chữ cái alphabet.

Hàm max() trong Python

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

Hàm max() trong Python có 2 dạng:

max(iterable, *iterables[,key, default])

Hoặc:

max(item1, item2, *item[, key])

Các tham số của hàm max()

Hàm max() làm việc với hai dạng tham số tương ứng với hai cú pháp đã nêu ở trên:

1. max(iterable, *iterables[, key, default])

  • iterable: Bắt buộc. Các tuple, string, set, dictionary hoặc đối tượng iterator mà bạn cần tìm phần tử lớn nhất trong đó.
  • *iterables: Tùy chọn. Iterable nào lớn nhất sẽ được trả về.
  • key: Tùy chọn. Key function, nơi các iterable đi qua. Phép so sánh được thực hiện dựa trên kết quả trả về sau khi đi qua key function.
  • default: Tùy chọn. Giá trị mặc định khi iterable trống.

2. max(item1, item2, *item[, key])

  • item1, item2: Bắt buộc. Đối tượng để so sánh, có thể là number, string...
  • *item: Tùy chọn. Các đối tượng khác để so sánh.
    → Cần ít nhất hai đối tượng để thực hiện so sánh với hàm max().
  • key: Tùy chọn. Key function, nơi các item đi qua. Phép so sánh được thực hiện trên kết quả trả về sau khi đi qua key function.

Giá trị trả về từ max()

Hàm max trả về kết quả khác nhau tương ứng với hai loại như trên:

1. max(iterable, *iterables[, key, default])

Trường hợpKeyDefaultGiá trị trả về
Iterable trốngCó hoặc KhôngKhông cóSinh ra ngoại lệ ValueError
Iterable trốngTrả về giá trị Default
Một iterable (không trống)KhôngCó hoặc KhôngTrả về số lớn nhất trong iterable
Một iterable (không trống)Có hoặc KhôngTruyền từng phần tử trong iterable cho hàm key, kết quả trả về là phần tử lớn nhất dựa trên giá trị trả về từ hàm key
Nhiều iterable (không trống)KhôngCó hoặc KhôngTrả về iterable lớn nhất
Nhiều iterable (không trống)Có hoặc KhôngTruyền từng iterable cho hàm key. Kết quả trả về là iterable lớn nhất dựa trên giá trị trả về từ hàm key

2. max(item1, item2, *item[, key])

Trường hợpKeyGiá trị trả về
2 itemKhôngTrả về tham số lớn hơn
2 itemTruyền từng tham số cho hàm key, kết quả trả về là phần tử lớn hơn dựa trên giá trị trả về từ hàm key
Nhiều itemKhôngTrả về tham số lớn nhất
Nhiều itemTruyền từng tham số cho hàm key, kết quả trả về là phần tử lớn nhất dựa trên giá trị trả về từ hàm key

Ví dụ 1: Tìm phần tử lớn nhất trong các số truyền vào

# su dung max(item1, item2, *item)
print('So lon nhat la:', max(1, 3, 2, 5, 4))

# su dung max(iterable)
num = [1, 3, 2, 8, 5, 10, 6]
print('So lon nhat la:', max(num))

Chạy chương trình, kết quả trả về là:

So lon nhat la: 5
So lon nhat la: 10

Ví dụ 2: Tìm số có tổng các chữ số lớn nhất bằng cách sử dụng key function

def sumDigit(num):
    sum = 0
    while(num):
        sum += num % 10
        num = int(num / 10)
    return sum

# su dung max(item1, item2, *item, key)
print('Ket qua lon nhat la:', max(100, 321, 267, 59, 40, key=sumDigit))

# su dung max(iterable, key)
num = [15, 300, 2700, 821, 52, 10, 6]
print('Ket qua lon nhat la:', max(num, key=sumDigit))

Output trả về là:

Ket qua lon nhat la: 267
Ket qua lon nhat la: 821

Ở ví dụ này, các tham số hoặc từng phần tử trong tham số iterable được truyền lần lượt vào sumDigit() để lấy kết quả là số có tổng các chữ số lớn nhất.

Ví dụ 3: Tìm list có độ dài lớn nhất bằng cách sử dụng key function

num = [15, 300, 2700, 821]
num1 = [12, 2]
num2 = [34, 567, 78]

# su dung max(iterable, *iterables, key)
print('List dai nhat la:', max(num, num1, num2, key=len))

Kết quả trả về:

List dai nhat la: [15, 300, 2700, 821]

Trong chương trình trên, các iterable num, num1 và num2 được truyền vào key function là hàm len() tích hợp sẵn trong Python. Kết quả trả về là độ dài từng iterable và hàm max sẽ đưa ra iterable có độ dài lớn nhất.

Ví dụ 4: Hàm max() với các đối số đối tượng

Lập trình viên có thể dùng cú pháp sau để tìm đối tượng lớn nhất nằm giữa nhiều hơn 1 tham số.

Cú pháp:

max(arg1, arg2, *args, key)

Tham số:

  • Arg1: Tham số này là một đối tượng. Ví dụ, số, chuỗi và nhiều hơn thế nữa.
  • Arg2: Tham số này cũng là một đối tượng. Ví dụ, số, chuỗi và nhiều hơn thế nữa.
  • *args (tùy chọn): Đây là tham số tùy chọn cho nhiều đối tượng hơn.
  • Key (tùy chọn): Tham số này cũng là tùy chọn. Nó hoạt động khi từng tham số được chuyển và so sánh được thực hiện trên những kiến thức cơ bản của giá trị trả về.

Vì thế, hàm max() giúp chúng ta tìm thấy phần tử lớn nhất nằm giữa nhiều đối tượng. Giờ hãy cùng nhau xem xét một ví dụ để tìm số lớn nhất nằm giữa các số được cung cấp.

Ví dụ:

# dùng hàm max() với các đối tượng số
large_num = max(10, -4, 5, -3, 13)

# in kết quả
print("The largest number:", large_num)

Kết quả:

The largest number: 13

Giải thích

Ở đoạn code trên, bạn đã dùng hàm max() để tìm phần tử lớn nhất nằm trong số các đối tượng chỉ định làm tham số và đã in kết quả cho người dùng.

Tóm lại:

  • Hàm max() trong Python thường được dùng để trả về nhân tố lớn nhất hay cao nhất. Phụ thuộc vào tham số, nó có hai cú pháp, không iterable và có iterable.
  • Trong trường hợp không có iterable, các phần tử trực tiếp được truyền đi trong tham số. Ngược lại, nếu có iterable, phần tử iterable đó có thể được chuyển trực tiếp vào tham số.
  • Nếu iterabale trống và giá trị mặc định không được cung cấp, thì hàm max sẽ trả về ValueError.
  • Nếu phần tử trong các kiểu dữ liệu khác nhau được chuyển tới hàm max, nó sẽ phát sinh TypeError.

Xem thêm: Các hàm Python tích hợp sẵn

Thứ Hai, 25/09/2023 17:01
4,26 👨 46.647
0 Bình luận
Sắp xếp theo
    ❖ Python