Toidicode.com

Toidicode.com

BASIC TO ADVANCE

Bài 18: Các hàm xử lý list trong Python

Phần trước mình đã giới thiệu với mọi người các hàm xử lý chuỗi hay dùng trong Python, phần này chúng ta tiếp tục chuyển sang tìm hiểu về một số hàm xử lý list hay được sử dụng trong Python, và xem đối với Python nó có hỗ trợ chúng ta xử lý đa dạng không nhé!

1, list().

Hàm này có tác dụng chuyển đổi kiểu dữ liệu của một biến sang dạng list.

Cú pháp:

list(data)

Trong đó, data là biến chứa tuple bạn cần chuyển đổi.

VD:

string = "Vu Thanh Tai"
print(list(string))
# Ket Qua: ['V', 'u', ' ', 'T', 'h', 'a', 'n', 'h', ' ', 'T', 'a', 'i']

tup = ('A', 'B', 'C')
print(list(tup))
# Ket Qua: ['A', 'B', 'C']

2, len().

Hàm này trả về số lượng phần tử có trong list.

Cú pháp:

len(list)

Trong đó, list là list mà các bạn cần đếm.

VD:

list = ['A', 'B', 'C']

print(len(list))
#Kết quả: 3

3, max().

Hàm này sẽ trả về phần tử có giá trị lớn nhất trong list. Nếu là chuỗi thì nó sẽ trả về phần tử có độ dài chuỗi dài nhất, nếu là số thì nó sẽ trả về phần tử có số lớn nhất.

Cú pháp:

max(list)

Trong đó, list là list mà các bạn cần kiểm tra.

VD:

list = ['A', 'B', 'C']
print(max(list))
#Kết quả: C

list = ['1', '3', '2']
print(max(list))
#Kết quả: 3

4, min().

Hàm này sẽ trả về phần tử có giá trị nhỏ nhất trong list. Nếu là chuỗi thì nó sẽ trả về phần tử có độ dài chuỗi ngắn nhất, nếu là số thì nó sẽ trả về phần tử có số nhỏ nhất.

Cú pháp:

min(list)

Trong đó, list là list mà các bạn cần kiểm tra.

VD:

list = ['A', 'B', 'C']
print(min(list))
#Kết quả: A

list = ['1', '3', '2']
print(max(list))
#Kết quả: 1

5, append().

Phương thức này có tác dụng thêm phần vào cuối của một list.

Cú pháp:

mylist.append(obj)

Trong đó:

  • mylist là list mà các bạn cần thêm phần tử.
  • obj là phần tử mà bạn muốn thêm vào mylist.

VD

list = ['A', 'B', 'C']

list.append('D')
print(list)
# Kết quả: ['A', 'B', 'C', 'D']

list.append(('E', 'F'))
print(list)
# Kết quả: ['A', 'B', 'C', 'D', ('E', 'F')]

6, extend().

Hàm này có tác dụng kế thừa lại các phần tử của list2 và thêm vào trong list1.

Cú pháp:

list1.extend(list2)

Trong đó

  • list1 là list mà bạn muốn kế thừa từ một list khác (ở đây là list2).
  • list2 là list được sử dụng để cho list khác kết thừa (ở đây là list1).

VD:

list = ['A', 'B', 'C']

list.extend('D')
print(list)
# Kết quả: ['A', 'B', 'C', 'D']

list.extend(('E', 'F'))
print(list)
# Kết quả: ['A', 'B', 'C', 'D', 'E', 'F']

Lưu ý: Ở đây mình đã cố tình để ví dụ của phương thức append()extend() là giống nhau để cho các bạn thấy được sự khác biệt giữa 2 phương thức này (xem kỹ nhé! không nhận ra được thì comment mình sẽ trả lời :D).

7, count().

Phương thức này có tác dụng đếm số lần xuất hiện của một thành phần trong list!

Cú pháp:

mylist.count(val)

Trong đó:

  • mylist là list mà các bạn cần kiểm tra.
  • val là phần tử mà bạn muốn tìm và đếm trong list mylist.

VD:

list = ['A', 'B', 'C']

print(list.count('A'))
# Kết quả: 1

8, index().

Phương thức này có tác dụng trả về index xuất hiện đầu tiên của phần tử mà bạn muốn tìm và nếu như không tìm thấy thì nó sẽ gọi exception.

Cú Pháp:

mylist.index(val)

Trong đó:

  • mylist là list mà các bạn cần kiểm tra.
  • val là phần tử mà bạn muốn tìm trong list mylist.

VD

list = ['A', 'B', 'C']

print(list.index('B'))
# Kết quả: 1

print(list.index('D'))
# Kết quả: ValueError: 'D' is not in list

9, insert().

Phương thức có tác dụng thêm phần tử vào vị trí index của list, và các phần tử sau index đó sẽ được đẩy về phía sau.

Cú pháp:

mylist.insert(index, val)

Trong đó:

  • mylist là list mà các bạn cần thêm.
  • index là vị trí mà bạn muốn thêm phần tử val vào.
  • val là phần tử mà bạn muốn thêm vào trong list mylist.

VD

list = ['A', 'B', 'C']

list.insert(0, 'Z')
print(list)
# Kết quả: ['Z', 'A', 'B', 'C']

list.insert(2, 'D')
print(list)
# Kết quả: ['Z', 'A', 'D', 'B', 'C']

10, reverse().

Phương thức này có tác dụng đảo ngược vị trí của các phần tử trong list.

Cú pháp:

mylist.reverse()

Trong đómylist là list mà các bạn muốn đảo ngược.

VD:

list = ['A', 'B', 'C']

list.reverse()
print(list)
# Kết quả: ['C', 'B', 'A']

11, remove().

Phương thức này có tác dụng xóa phần tử khỏi list.

Cú Pháp:

mylist.remove(val)

Trong đó:

  • mylist là list mà các bạn cần xóa phần tử.
  • val là phần tử mà bạn muốn muốn xóa trong list mylist.

VD

list = ['A', 'B', 'C']

list.remove('C')
print(list)
# Kết quả: ['A', 'B']

12, pop().

Phương thức này có tác dụng xóa bỏ phần tử trong list dựa trên index của nó.

Cú pháp:

mylist.pop(index)

Trong đó:

  • mylist là list mà các bạn cần xóa phần tử.
  • index là index của phần tử mà bạn muốn muốn xóa trong list mylist. Mặc định thì index = mylist[-1] (phần tử cuối cùng trong list).

VD:

list = ['A', 'B', 'C', 'D', 'E']

list.pop()
print(list)
# Kết quả: ['A', 'B', 'C', 'D']

list.pop(2)
print(list)
# Kết quả: ['A', 'B', 'D']

13, sort().

Phương thức này có tác dụng sắp xếp lại các phần tử trong list theo một thứ tự xác định.

Cú pháp:

mylist.sort(reverse, key)

Trong đó:

  • mylist là list mà các bạn muốn sắp xếp.
  • reverse là một boolean cấu hình kiểu sắp xếp. Nếu reverse = True thì list sẽ được sắp xếp từ lớn đến bé, nếu reverse = False thì list sẽ được sắp xếp theo thứ tự từ bé đến lớn. Mặc định thì reverse = False.
  • keycallback def để xử lý list hoặc là một lamda function (thường được dùng để sắp xếp các list tuple hoặc dictionary).

VD

list = ['A', 'C', 'B', 'E', 'D']

list.sort()
print(list)
# Kết quả: ['A', 'B', 'C', 'D', 'E']

list.sort(reverse=True)
print(list)
# Kết quả: ['E', 'D', 'C', 'B', 'A']


def custom_sort(elem):
    return elem[1]
list = [(1, 2), (5, 7), (7, 100), (4, 4)]
list.sort(key=custom_sort)
print(list)
# Kết quả: [(1, 2), (4, 4), (5, 7), (7, 100)]

14, clear().

Phương thức này có tác dụng xóa bỏ hết tất cả các phần tử trong list.

Cú pháp:

mylist.clear()

Trong đómylist là list mà bạn muốn xóa bỏ hết phần tử.

VD:

list = ['A', 'C', 'B', 'E', 'D']

list.clear()
print(list)
# Kết quả: []

 

Đăng ký nhận tin.

Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!

Vũ Thanh Tài

About author
The best way to learn is to share
Xem tất cả bài đăng

19 Comments

ad ơi, phần hàm sort chỗ vd mk ko hiểu phần cuối lắm, ad giải thích cho mk đc ko???

lmq

5 năm trước

Chào bạn!

Ở VD cuối list là một mảng các tuple, nên chúng ta cần xác định là sẽ sắp xếp theo gì, ở đây là theo phần tử thứ 2 của tuple.

Vũ Thanh Tài

5 năm trước

anh ơi làm sao để in phần tử nhỏ thứ hai trong dãy ạ?

Phú

4 năm trước

list = ['A', 'B', 'C'] print(max(list)) 

#Kết quả: C

Nếu là chuỗi thì nó sẽ trả về phần tử có độ dài chuỗi dài nhất

Chào Ad.... phần này e không hiểu lắm... độ dài chuỗi thì cả 3 cái (A, B, C) nó đều là 1 thì tại sao kết quả là 'C' vậy ạ? 

e có thử một list khác 

myList = ['aaa', 'Thanh Binh', 'bb'] print(max(myList))

#Kết quả: "bb" .... nhưng thằng bb lại có độ dài nhỏ nhất mà??? 

Thanks AD!

Thanh Bình

5 năm trước

nó sắp xếp theo thứ tự trong bảng mã ascii nhé bạn

hung

5 năm trước

Chào bạn. TH1 của bạn là max của chuỗi (strings), kết quả sẽ trả về chuỗi có thứ tự lớn nhất theo bảng chữ cái "Returns the max alphabetical character from the string str."
TH2 của bạn vẫn là max của strings, mỗi strings của bạn gồm nhiều elements và cả hoa cả thường nó sẽ ưu tiên chữ thường trước và chỉ tính element (phần tử) đầu tiên. nên sẽ là bb. Nếu bạn thay T hoa trong Thanh thành t thì kết quả sẽ là thanh Binh. 

noname

5 năm trước

AD ơi cho mình hỏi:

Mình có 1 list như này: c=['1','2','3','4','5']

có cách nào để đổi toàn bộ phần tử trong list thành dạng int mà ko cần dùng vòng lặp ko ạ?

Thanks AD!

Armin Arlert

4 năm trước

đây nhé bạn :

Kido

2 năm trước

đây nhé bạn : list(map(int,c))

Hello

2 năm trước

d=list(map(int,c))

Nguyễn Văn Kiên

2 tháng trước

AD ơi trong phương thức Count và Index trong list có dùng được 'start,end' như trong chuỗi không ạ,

như kiểu

<List>.count(sub, [start, [end]]) 

(code này em copy chỗ khác nhưng nó báo lỗi ạ)

Trường Duy

4 năm trước

extend vs append e ko thay co gi khac anh oi

quan

3 năm trước

nhap (()) apend print ra()
con extend ko co()

quan

3 năm trước

Anh cho em hỏi là ngoại trừ hàm sum là để cộng thì em muốn hỏi một số hàm khác để trừ nhân chia á

Minh Nguyen

2 năm trước

anh ơi cho em hỏi cách đếm xem trong list có bao nhiêu số giống nhau

Hoàng Yên

2 năm trước

quá dễ

hacker vip pro max 2023

1 năm trước

lol

lol

9 tháng trước

Ai học ngôn ngữ lua không, giúp với!

SOS

9 tháng trước

(-_-)

hacker in the room

9 tháng trước

Bình luận

Captcha