Trong chương trình dưới đây, ba số lần lượt được lưu trữ trong
heights = [100, 2, 300, 10, 11, 1000] max_height = max[heights] print[max_height]2,
heights = [100, 2, 300, 10, 11, 1000] max_height = max[heights] print[max_height]3 và
heights = [100, 2, 300, 10, 11, 1000] max_height = max[heights] print[max_height]4. Chúng tôi đã sử dụng thang
heights = [100, 2, 300, 10, 11, 1000] max_height = max[heights] print[max_height]5 để tìm cái lớn nhất trong số ba cái và hiển thị nó
Mã nguồn
# Python program to find the largest number among the three input numbers
# change the values of num1, num2 and num3
# for a different result
num1 = 10
num2 = 14
num3 = 12
# uncomment following lines to take three numbers from user
#num1 = float[input["Enter first number: "]]
#num2 = float[input["Enter second number: "]]
#num3 = float[input["Enter third number: "]]
if [num1 >= num2] and [num1 >= num3]:
largest = num1
elif [num2 >= num1] and [num2 >= num3]:
largest = num2
else:
largest = num3
print["The largest number is", largest]
đầu ra
The largest number is 14.0
Ghi chú. Để kiểm tra chương trình, hãy thay đổi các giá trị của
heights = [100, 2, 300, 10, 11, 1000] max_height = max[heights] print[max_height]2,
heights = [100, 2, 300, 10, 11, 1000] max_height = max[heights] print[max_height]3 và
heights = [100, 2, 300, 10, 11, 1000] max_height = max[heights] print[max_height]4
Để sử dụng nó, hãy gọi
10004 trên danh sách các số. Sau đó, nó trả về số lớn nhất trong danh sách đó
Đây là một ví dụ
heights = [100, 2, 300, 10, 11, 1000] max_height = max[heights] print[max_height]
đầu ra
1000
Các phương pháp thay thế để tìm số lớn nhất trong danh sách
Bây giờ bạn đã biết hai cách đơn giản để tìm số lớn nhất trong danh sách bằng Python
Hãy xem xét một số cách tiếp cận không phổ biến hơn
Chức năng giảm []
Bạn cũng có thể sử dụng hàm
10005
10006 để tìm số lớn nhất trong danh sách
Trước khi chúng tôi làm điều đó, điều quan trọng là phải hiểu cách thức hoạt động của hàm
10007
Hàm rút gọn nhận hai tham số
- Một hàm được áp dụng cho từng phần tử của một iterable
- Một iterable, chẳng hạn như một danh sách
Sau đó nó
- Lấy hai phần tử đầu tiên của một chuỗi và gọi hàm trên chúng
- Lấy kết quả trước đó và gọi hàm trên kết quả và số tiếp theo trong danh sách
- 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
Để tìm hiểu thêm về hàm
10007, hãy xem bài viết này
Dù sao đi nữa, hãy sử dụng hàm
10007 để tìm phần tử lớn nhất trong danh sách
Giảm [] với Hàm max [] tích hợp
Đây là một ví dụ về cách bạn có thể sử dụng rút gọn để tìm số lớn nhất trong danh sách
The largest number is 14.01
đầu ra
1000
Hàm
10007 áp dụng hàm
10004 cho từng phần tử như đã mô tả trong chương trước
- Nó bắt đầu với hai phần tử đầu tiên và tìm phần tử lớn nhất trong hai phần tử
- Sau đó lấy kết quả và so sánh nó với phần tử thứ ba
- Quá trình này tiếp tục cho đến khi không còn số nào trong danh sách
Chúng ta cũng hãy xem một ví dụ khác, có lẽ minh họa hơn một chút
Giảm [] với Hàm tối đa tùy chỉnh
Một cách khác mà bạn có thể sử dụng
10007 để tìm số lớn nhất trong danh sách là tự triển khai hàm
10004
Ví dụ
The largest number is 14.07
đầu ra
1000
Giảm [] bằng Hàm Lambda
Và cách tiếp cận thứ 3 là sử dụng
10007 với biểu thức lambda
Điều này có nghĩa là bạn xác định nội tuyến hàm max trong lệnh gọi hàm
10007
Ví dụ
10001
đầu ra
1000
Phần
heights = [100, 2, 300, 10, 11, 1000] max_height = max[heights] print[max_height]6 làm tương tự như hàm
heights = [100, 2, 300, 10, 11, 1000] max_height = max[heights] print[max_height]7 trong ví dụ trước
Lưu ý rằng câu lệnh if-else được rút gọn thành biểu thức một dòng
Tìm số lớn nhất bằng cách sử dụng hàng đợi heap
Mô-đun
heights = [100, 2, 300, 10, 11, 1000] max_height = max[heights] print[max_height]8 tích hợp trong Python đi kèm với việc triển khai thuật toán hàng đợi ưu tiên
Nói tóm lại, heap là một cây nhị phân trong đó mỗi nút cha có giá trị nhỏ hơn hoặc bằng giá trị của các nút con của nó
Bạn có thể sử dụng hàm
heights = [100, 2, 300, 10, 11, 1000] max_height = max[heights] print[max_height]9 để tìm ra [các] số lớn nhất trong danh sách
Ví dụ
10001
đầu ra
1000
Sự kết luận
Hôm nay bạn đã học cách tìm số lớn nhất trong một danh sách
Đầu tiên, bạn đã sử dụng phương pháp “brute-force” để lặp qua danh sách trong khi theo dõi phần tử lớn nhất
Sau đó, bạn đã thấy hàm
10004 tích hợp sẵn thực hiện công việc đó cho bạn như thế nào
Cuối cùng, bạn đã thấy các lựa chọn thay thế không phổ biến, chẳng hạn như sử dụng
10007 với lambdas hoặc hàng đợi heap
Mỗi cách tiếp cận này đều hoàn thành công việc cho bạn
Vui lòng chọn cách tiếp cận tốt nhất cho tình huống của bạn
Nếu tôi phải tìm phần tử lớn nhất, tôi sẽ chọn cách tiếp cận dễ đọc nhất, đó là hàm
10004 tích hợp