Tìm max() min() và cách tính tổng các phần tử trong list Python | Laptrinhcanban.com

Tìm max() min() và cách tính tổng các phần tử 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 | hàm max() trong python

Để 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 ( org_list )

Trong đó org_list 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 | hàm min() trong python

Để 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 ( org_list )

Trong đó org_list 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'

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 ra top n phần tử 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 ra top n phần tử 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ính tổng các phần tử trong list Python

Tính tổng các số là phần tử trong list Python

Để tính tổng các phần tử trong list Python trong trường hợp các phần tử trong list đó là một dãy số, chúng ta sử dụng vòng lặp for trong python để lấy ra giá trị từng phần tử và cộng vào tổng chung.

Ví dụ, chúng ta viết thuật toán tính tổng dãy số từ 1 đến n trong python như sau:

n = 4
numlist = range(1, n +1)
total = 0
for i in numlist:
print(i)
total += i
print("Tổng:", total)

#>> 1
#>> 2
#>> 3
#>> 4
#>> Tổng: 10

Chuyển list thành string trong Python

Để chuyển list thành string trong Python trong trường hơp các phần tử trong list đều thuộc kiểu chuỗi, chúng ta tính tổng các phần tử trong list Python đó như sau:

str_list = ['b','ig','b','o','y']
total = ""
for i in str_list:
total += i
print(total)
#>> bigboy

Lưu ý là với một list chứa phần tử thuộc nhiều kiểu dữ liệu khác nhau thì chúng ta không thể tính tổng các phần tử trong nó đâu. Lỗi TypeError sẽ xảy ra như ví dụ:

mix_list = ['b','ig','b','o','y', 1]
total = ""
for i in mix_list:
total += i
print(total)

# Traceback (most recent call last):
# File "Main.py", line 4, in <module>
# total += i
#TypeError: can only concatenate str (not "int") to str

Trong trường hợp bạn muốn Chuyển list thành string trong Python mà list đó chứa các phần tử thuộc nhiều kiểu dữ liệu khác nhau, hãy sử dụng thêm hàm str() trong python như cách dưới đây:

mix_list = ['b','ig','b','o','y', 1]
total = ""
for i in mix_list:
total += str(i)
print(total)
#>> bigboy1

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách tìm max min trong python, 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 rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.

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.