Tìm max() min() trong list Python | Laptrinhcanban.com

HOME › >>

Tìm max() min() trong list Python

Hướng dẫn cách tìm max min và cách tính tổng các phần tử trong list Python. Bạn sẽ học được cách tìm max() trong list python, tìm min() trong list python và cách tìm top n phần tử lớn nhất hoặc nhỏ nhất trong list python. Bạn cũng như cách tính tổng các phần tử trong list Python và ứng dụng nó để chuyển list thành string trong Python sau bài học này.

Tìm max trong list python bằng hàm max()

Để tìm max() trong list python, chúng ta sử dụng tới một hàm cài đặt sẵn là hàm max trong python với cú pháp sau đây:

max ( list_name )

Trong đó list_name là list cần tìm ra phần tử lớn nhất trong nó. Kết quả của phương thức là giá trị của phần tử lớn nhất trong list Python được chỉ định.

Ví dụ, chúng ta tìm phần tử lớn nhất trong list Python bằng hàm max() như sau:

numlist = [3, 6, 9, -1, 0, -10, 18]

print(max(numlist))
#>> 18

Chúng ta cũng có thể sử dụng hàm max trong python và tìm phần tử lớn nhất trong list có các phần tử là chuỗi như sau:

l = ['red', 'blue', 'yellow', 'black' , 'red']

print(max(l ))
#>> yellow

Sẽ rất dễ hiểu khi chúng ta tìm max() trong list mà các phần tử trong list đều thuộc kiểu số. Tuy nhiên khi tìm tìm phần tử lớn nhất trong các phần tử thuộc kiểu chuỗi trong list python, hàm max() không thể so sánh trực tiếp giá trị của các chuỗi được, mà phải so sánh thông qua các điểm mã unicode (unicode code point) của chúng.

Lại nữa, không phải khi nào chúng ta cũng có thể tìm ra max() trong list python. Ví dụ như trong một list có các phần tử thuộc nhiều kiểu dữ liệu khác nhau, ví dụ như chuỗi hoặc số chẳng hạn, do không thể so sánh lớn nhỏ giữa chuỗi và số nên chúng ta không thể tìm phần tử lớn nhất trong list Python trong trường hợp này. Ví dụ:

l = [1, 'blue', 'yellow', 'black' , 'red']

print(max(l ))

#Traceback (most recent call last):
# File "Main.py", line 3, in <module>
# print(min(l ))
#TypeError: '<' not supported between instances of 'str' and 'int'

Tìm min trong list python bằng hàm min()

Để tìm min() trong list python, chúng ta sử dụng tới một hàm cài đặt sẵn là hàm min trong python với cú pháp sau đây:

min ( list_name )

Trong đó list_name là list cần tìm ra phần tử nhỏ nhất trong nó. Kết quả của phương thức là giá trị của phần tử nhỏ nhất trong list Python được chỉ định.

Ví dụ, chúng ta tìm phần tử nhỏ nhất trong list bằng hàm min() trong Python như sau:

numlist = [3, 6, 9, -1, 0, -10, 18]

print(min(numlist))
#>> -10

Chúng ta cũng có thể sử dụng hàm min trong python và tìm phần tử nhỏ nhất trong list có các phần tử là chuỗi như sau:

l = ['red', 'blue', 'yellow', 'black' , 'red']

print(min(l ))
#>> black

Sẽ rất dễ hiểu khi chúng ta tìm min() trong list mà các phần tử trong list đều thuộc kiểu số. Tuy nhiên khi tìm tìm phần tử nhỏ nhất trong các phần tử thuộc kiểu chuỗi trong list python, hàm min() không thể so sánh trực tiếp giá trị của các chuỗi được, mà phải so sánh thông qua các điểm mã unicode (unicode code point) của chúng.

Lại nữa, không phải khi nào chúng ta cũng có thể tìm ra min() trong list python. Ví dụ như trong một list có các phần tử thuộc nhiều kiểu dữ liệu khác nhau, ví dụ như chuỗi hoặc số chẳng hạn, do không thể so sánh lớn nhỏ giữa chuỗi và số nên chúng ta không thể tìm phần tử nhỏ nhất trong list Python trong trường hợp này. Ví dụ:

l = [1, 'blue', 'yellow', 'black' , 'red']

print(min(l ))

#Traceback (most recent call last):
# File "Main.py", line 3, in <module>
# print(min(l ))
#TypeError: '<' not supported between instances of 'str' and 'int'

Tìm max min trong list python bằng Vòng Lặp for

Nếu bạn muốn tìm giá trị lớn nhất hoặc giá trị nhỏ nhất trong danh sách mà không sử dụng hàm max() hoặc min(), bạn có thể sử dụng vòng lặp for để duyệt qua danh sách và so sánh giá trị. Dưới đây là một ví dụ về cách tìm giá trị lớn nhất bằng cách sử dụng vòng lặp for:

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
maximum = my_list[0]
for value in my_list:
if value > maximum:
maximum = value

print("Giá trị lớn nhất:", maximum)

Kết quả vẫn là Giá trị lớn nhất: 9.

Tương tự, bạn có thể thay thế dấu > bằng < để tìm giá trị nhỏ nhất.

Tìm max min trong list python bằng List Comprehension

List comprehension cung cấp một cách ngắn gọn để tìm giá trị lớn nhất và giá trị nhỏ nhất trong danh sách. Bạn có thể sử dụng biểu thức để tạo một danh sách mới chứa các giá trị tương ứng, sau đó sử dụng hàm max()min() trên danh sách này.

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
maximum = max([value for value in my_list])
minimum = min([value for value in my_list])

print("Giá trị lớn nhất:", maximum)
print("Giá trị nhỏ nhất:", minimum)

Tìm max min trong list python bằng Hàm sorted()

Hàm sorted() cho phép bạn sắp xếp danh sách theo thứ tự tăng dần hoặc giảm dần và sau đó có thể lấy giá trị đầu tiên hoặc cuối cùng để tìm giá trị lớn nhất hoặc giá trị nhỏ nhất.

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_list = sorted(my_list)

maximum = sorted_list[-1] # Lấy giá trị cuối cùng
minimum = sorted_list[0] # Lấy giá trị đầu tiên

print("Giá trị lớn nhất:", maximum)
print("Giá trị nhỏ nhất:", minimum)

Hàm sorted() sẽ trả về một danh sách mới được sắp xếp, vì vậy bạn cần lấy giá trị ở vị trí cuối cùng và đầu tiên để tìm giá trị lớn nhất và giá trị nhỏ nhất.

Lấy ra top n phần tử lớn nhất hoặc nhỏ nhất trong list python

Để lấy ra n phần tử lớn nhất hoặc nhỏ nhất trong list python, trước tiên chúng ta cần sắp xếp lại list đó theo thứ tự tăng dần hoặc giảm dần. Sau đó, bằng cách sử dụng chức năng cắt (slice) list, chúng ta có thể đơn giản lấy ra n phần tử lớn nhất hoặc nhỏ nhất trong list python đã được sắp xếp.

Lấy và giữ nguyên thứ tự trong list ban đầu

Để lấy ra top n phần tử lớn nhất hoặc nhỏ nhất trong list python và giữ nguyên thứ tự trong list ban đầu, chúng ta sẽ dùng hàm sorted() để sắp xếp list ban đầu và tạo ra một list mới, rồi lấy ra top n phần tử từ list mới này.

Ví dụ, chúng ta có thể lấy ra top 3 số lớn nhất trong list python sau đây:

numlist = [3, 6, 9, -1, 0, -10, 18]
numlist_sort = sorted(numlist , reverse=True)
top3 = numlist_sort[:3]

print(top3)

Chúng ta có thể viết gọn hơn trên một dòng như sau:

numlist = [3, 6, 9, -1, 0, -10, 18]
print(sorted(numlist, reverse=True)[:3])
#>> [18, 9, 6]

Nếu muốn lấy ra top 3 số nhỏ nhất trong list ở trên, chỉ cần bỏ đi đối số reverse = True hoặc là chỉ định reverse = False trong hàm sorted() là xong.

numlist = [3, 6, 9, -1, 0, -10, 18]
print(sorted(numlist)[:3])
print(sorted(numlist, reverse=False)[:3])

#>> [-10, -1, 0]
#>> [-10, -1, 0]

Lấy và thay đổi thứ tự trong list ban đầu

Để lấy ra top n phần tử lớn nhất hoặc nhỏ nhất trong list python mà không cần giữ nguyên thứ tự trong list ban đầu, chúng ta sẽ sắp xếp list ban đầu bằng phương thức sort() trước khi lấy ra top n phần tử.

Ví dụ, chúng ta sắp xếp lại list ban đầu và lấy ra top 3 phần tử lớn nhất như sau:

numlist = [3, 6, 9, -1, 0, -10, 18]
numlist.sort(reverse=True)
print(numlist[:3])
#>> [18, 9, 6]

Nếu muốn lấy ra top 3 số nhỏ nhất trong list ở trên, chỉ cần bỏ đi đối số reverse = True hoặc là chỉ định reverse = False trong hàm sorted() là xong.

numlist = [3, 6, 9, -1, 0, -10, 18]
numlist.sort() # numlist.sort(reverse=False)
print(numlist[:3])
#>> [-10, -1, 0]

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách tìm max min trong list python rồi. Tìm giá trị lớn nhất và giá trị nhỏ nhất trong list (danh sách) Python là một tác vụ quan trọng khi xử lý dữ liệu và thực hiện các phép toán tương tác. Trong bài viết này, chúng ta đã tìm hiểu cách sử dụng hàm max()min() để tìm giá trị lớn nhất và giá trị nhỏ nhất một cách dễ dàng và hiệu quả. Chúng ta cũng đã thảo luận về cách sử dụng vòng lặp for, list comprehension và hàm sorted() để thực hiện tác vụ này. Sử dụng những kỹ thuật này sẽ giúp bạn xử lý dữ liệu trong danh sách một cách chính xác và hiệu quả trong các ứng dụng thực tế.

URL Link

https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/list-trong-python/tim-max-min-trong-list-python/

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME  › >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.