List giống như các mảng có kích thước động, được khai báo bằng các ngôn ngữ khác (vectơ trong C ++ và ArrayList trong Java). List không nhất thiết phải đồng nhất làm cho nó trở thành một công cụ mạnh nhất trong Python. Một list có thể chứa DataTypes như Integers, String, cũng như các Đối tượng. List có thể thay đổi, và do đó, chúng có thể được thay đổi ngay cả sau khi tạo.

List trong Python được sắp xếp và có số lượng xác định. Các phần tử trong list được lập chỉ mục theo một chuỗi xác định và việc lập chỉ mục của list được thực hiện với 0 là chỉ mục đầu tiên. Mỗi phần tử trong list có vị trí xác định trong list, cho phép sao chép các phần tử trong list, với mỗi phần tử có vị trí và độ tin cậy riêng biệt.

Lưu ý- List là một công cụ hữu ích để lưu giữ một chuỗi dữ liệu và lặp lại trên đó.

1. Tạo một list

List trong Python có thể được tạo bằng cách chỉ cần đặt chuỗi bên trong dấu ngoặc vuông []. Không giống như các Bộ, list không cần chức năng tích hợp để tạo list.

Lưu ý – Không giống như Bộ, list có thể chứa các yếu tố có thể thay đổi.

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------


# Python program to demonstrate  
# Creation of List  
  
# Creating a List 
List = [] 
print("Blank List: ") 
print(List) 
  
# Creating a List of numbers 
List = [10, 20, 14] 
print("\nList of numbers: ") 
print(List) 
  
# Creating a List of strings and accessing 
# using index 
List = ["Cafedev", "For", "Cafedev"] 
print("\nList Items: ") 
print(List[0])  
print(List[2]) 
  
# Creating a Multi-Dimensional List 
# (By Nesting a list inside a List) 
List = [['Cafedev', 'For'] , ['Cafedev']] 
print("\nMulti-Dimensional List: ") 
print(List) 

Kết quả:

Blank List: 
[]

List of numbers: 
[10, 20, 14]

List Items
Cafedev
Cafedev

Multi-Dimensional List: 
[['Cafedev', 'For'], ['Cafedev']]

2. Tạo một list với nhiều yếu tố riêng biệt hoặc trùng lặp

Một list có thể chứa các giá trị trùng lặp với các vị trí riêng biệt của chúng nên do đó, nhiều giá trị riêng biệt hoặc trùng lặp có thể được chuyển qua dưới dạng một chuỗi tại thời điểm tạo list.

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------

# Creating a List with  
# the use of Numbers 
# (Having duplicate values) 
List = [1, 2, 4, 4, 3, 3, 3, 6, 5] 
print("\nList with the use of Numbers: ") 
print(List) 
  
# Creating a List with  
# mixed type of values 
# (Having numbers and strings) 
List = [1, 2, 'Cafedev', 4, 'For', 6, 'Cafedev'] 
print("\nList with the use of Mixed Values: ") 
print(List) 

Kết quả:

List with the use of Numbers: 
[1, 2, 4, 4, 3, 3, 3, 6, 5]

List with the use of Mixed Values: 
[1, 2, 'Cafedev', 4, 'For', 6, 'Cafedev']

2.1 Biết kích thước của List


# Creating a List 
List1 = [] 
print(len(List1)) 
  
# Creating a List of numbers 
List2 = [10, 20, 14] 
print(len(List2)) 

Kết quả:

0
3

2.2 Thêm các yếu tố vào list

Sử dụng phương thức append()

Các yếu tố có thể được thêm vào List bằng cách sử dụng hàm tích hợp append(). Chỉ có thể thêm một phần tử tại một thời điểm vào list bằng cách sử dụng phương thức append(), để thêm nhiều phần tử với append()phương thức, người ta sử dụng các vòng lặp. Các tuple cũng có thể được thêm vào List với việc sử dụng phương thức append vì các tuple là bất biến. Không giống như Set, List cũng có thể được thêm vào list có sẵn bằng việc sử dụng phương thức append().

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------


# Python program to demonstrate  
# Addition of elements in a List 
  
# Creating a List 
List = [] 
print("Initial blank List: ") 
print(List) 
  
# Addition of Elements  
# in the List 
List.append(1) 
List.append(2) 
List.append(4) 
print("\nList after Addition of Three elements: ") 
print(List) 
  
# Adding elements to the List 
# using Iterator 
for i in range(1, 4): 
    List.append(i) 
print("\nList after Addition of elements from 1-3: ") 
print(List) 
  
# Adding Tuples to the List 
List.append((5, 6)) 
print("\nList after Addition of a Tuple: ") 
print(List) 
  
# Addition of List to a List 
List2 = ['For', 'Cafedev'] 
List.append(List2) 
print("\nList after Addition of a List: ") 
print(List) 

Kết quả:

Initial blank List: 
[]

List after Addition of Three elements: 
[1, 2, 4]

List after Addition of elements from 1-3: 
[1, 2, 4, 1, 2, 3]

List after Addition of a Tuple: 
[1, 2, 4, 1, 2, 3, (5, 6)]

List after Addition of a List: 
[1, 2, 4, 1, 2, 3, (5, 6), ['For', 'Cafedev']]

3. Sử dụng phương thức insert()

Phương thức append() chỉ hoạt động để thêm các phần tử vào cuối List, để thêm phần tử vào vị trí mong muốn, ta sử dụng phương thức insert(). Không giống như phương thức append() chỉ mất một đối số, phương thức insert() yêu cầu hai đối số (vị trí, giá trị).


# Python program to demonstrate  
# Addition of elements in a List 
   
# Creating a List 
List = [1,2,3,4] 
print("Initial List: ") 
print(List) 
  
# Addition of Element at  
# specific Position 
# (using Insert Method) 
List.insert(3, 12) 
List.insert(0, 'Cafedev') 
print("\nList after performing Insert Operation: ") 
print(List) 

Kết quả:

Initial List: 
[1, 2, 3, 4]

List after performing Insert Operation: 
['Cafedev', 1, 2, 3, 12, 4]

4. Sử dụng phương thức extend()

Ngoài hai phương thức append()và insert(), có thêm một phương thức để thêm các yếu tố, đó là extend(), phương thức này được sử dụng để thêm nhiều yếu tố cùng một lúc vào cuối list.

Lưu ý – phương thức append() và extend() chỉ có thể thêm các phần tử ở cuối.

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------


# Python program to demonstrate  
# Addition of elements in a List 
    
# Creating a List 
List = [1,2,3,4] 
print("Initial List: ") 
print(List) 
  
# Addition of multiple elements 
# to the List at the end 
# (using Extend Method) 
List.extend([8, 'Cafedev', 'Always']) 
print("\nList after performing Extend Operation: ") 
print(List) 

Kết quả:

Initial List: 
[1, 2, 3, 4]

List after performing Extend Operation: 
[1, 2, 3, 4, 8, 'Cafedev', 'Always']

5. Truy cập các phần tử từ List

Để truy cập các mục list, hãy tham khảo số chỉ mục. Sử dụng toán tử chỉ mục [] để truy cập vào một mục trong list. Số chỉ mục phải là một số nguyên. List lồng nhau phải được truy cập bằng việc sử dụng lập chỉ mục lồng nhau.


# Python program to demonstrate  
# accessing of element from list 
  
# Creating a List with 
# the use of multiple values 
List = ["Cafedev", "For", "Cafedev"] 
  
# accessing a element from the  
# list using index number 
print("Accessing a element from the list") 
print(List[0])  
print(List[2]) 
  
# Creating a Multi-Dimensional List 
# (By Nesting a list inside a List) 
List = [['Cafedev', 'For'] , ['Cafedev']] 
  
# accessing a element from the  
# Multi-Dimensional List using 
# index number 
print("Acessing a element from a Multi-Dimensional list") 
print(List[0][1]) 
print(List[1][0]) 

Kết quả:

Accessing a element from the list
Cafedev
Cafedev
Acessing a element from a Multi-Dimensional list
For
Cafedev

6. Lập chỉ mục âm

Trong Python, các chỉ mục chuỗi âm biểu thị các vị trí từ cuối mảng. Thay vì phải tính toán phần bù như trong List[len(List)-3], chỉ cần viết List[-3] là đủ. Lập chỉ mục âm có nghĩa là bắt đầu từ cuối, -1 chỉ đến mục cuối cùng, -2 chỉ đến mục cuối cùng thứ hai, v.v.


List = [1, 2, 'Geeks', 4, 'For', 6, 'Cafedev'] 
  
# accessing a element using 
# negative indexing 
print("Acessing element using negative indexing") 
  
# print the last element of list 
print(List[-1]) 
  
# print the third last element of list  
print(List[-3]) 

Kết quả:

Acessing element using negative indexing
Cafedev
For

7. Xóa các phần tử khỏi list

7.1 Sử dụng phương thức remove()

Các phần tử có thể được xóa khỏi List bằng cách sử dụng hàm tích hợp remove() nhưng sẽ phát sinh lỗi nếu phần tử không tồn tại trong tập hợp. Phương thức remove() chỉ xóa bỏ một phần tử tại một thời điểm, để xóa bỏ một loạt phần tử, iterator được sử dụng. Các phương thức remove() chỉ loại bỏ các mục nhất định.

Lưu ý – Phương thức remove trong List sẽ chỉ xóa lần xuất hiện đầu tiên của phần tử được tìm kiếm.

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------


# Python program to demonstrate  
# Removal of elements in a List 
  
# Creating a List 
List = [1, 2, 3, 4, 5, 6,  
        7, 8, 9, 10, 11, 12] 
print("Intial List: ") 
print(List) 
  
# Removing elements from List 
# using Remove() method 
List.remove(5) 
List.remove(6) 
print("\nList after Removal of two elements: ") 
print(List) 
  
# Removing elements from List 
# using iterator method 
for i in range(1, 5): 
    List.remove(i) 
print("\nList after Removing a range of elements: ") 
print(List) 

Kết quả:

Intial List: 
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

List after Removal of two elements: 
[1, 2, 3, 4, 7, 8, 9, 10, 11, 12]

List after Removing a range of elements: 
[7, 8, 9, 10, 11, 12]

7.2 Sử dụng phương thức pop()

Hàm Pop() cũng có thể được sử dụng để xóa và trả về một phần tử khỏi tập hợp, nhưng theo mặc định, nó chỉ xóa phần tử cuối cùng của tập hợp, để xóa phần tử khỏi một vị trí cụ thể của List, chỉ mục của phần tử được truyền làm đối số cho phương thức pop().


List = [1,2,3,4,5] 
  
# Removing element from the  
# Set using the pop() method 
List.pop() 
print("\nList after popping an element: ") 
print(List) 
  
# Removing element at a  
# specific location from the  
# Set using the pop() method 
List.pop(2) 
print("\nList after popping a specific element: ") 
print(List) 

Kết quả:

List after popping an element: 
[1, 2, 3, 4]

List after popping a specific element: 
[1, 2, 4]

7.3 Cắt một list

Trong List, có nhiều cách để in toàn List với tất cả các phần tử, nhưng để in một chuỗi phần tử cụ thể từ list, chúng ta sử dụng thao tác cắt. Thao tác cắt được thực hiện trên List với việc sử dụng dấu hai chấm (:). Để in các phần tử từ đầu đến một chuỗi, hãy sử dụng [: Index], để in các phần tử từ cuối, hãy sử dụng [:-Index], để in các phần tử từ Chỉ mục cụ thể cho đến hết, hãy sử dụng [Index:], để in các phần tử trong một chuỗi, hãy sử dụng [Start Index: End Index] và để in toàn bộ List với việc sử dụng thao tác cắt, sử dụng [:]. Hơn nữa, để in toàn bộ List theo thứ tự ngược lại, hãy sử dụng [::-1].

Lưu ý – Để in các thành phần của List từ phía sau, hãy sử dụng Chỉ mục phủ định.
[Hình ảnh]

# -----------------------------------------------------------
#Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
#@author cafedevn
#Contact: cafedevn@gmail.com
#Fanpage: https://www.facebook.com/cafedevn
#Instagram: https://instagram.com/cafedevn
#Twitter: https://twitter.com/CafedeVn
#Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
# -----------------------------------------------------------



# Python program to demonstrate  
# Removal of elements in a List 
  
# Creating a List 
List = ['G','E','E','K','S','F', 
        'O','R','G','E','E','K','S'] 
print("Intial List: ") 
print(List) 
  
# Print elements of a range 
# using Slice operation 
Sliced_List = List[3:8] 
print("\nSlicing elements in a range 3-8: ") 
print(Sliced_List) 
  
# Print elements from a  
# pre-defined point to end 
Sliced_List = List[5:] 
print("\nElements sliced from 5th "
      "element till the end: ") 
print(Sliced_List) 
  
# Printing elements from 
# beginning till end 
Sliced_List = List[:] 
print("\nPrinting all elements using slice operation: ") 
print(Sliced_List) 

Kết quả:

Intial List: 
['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S']

Slicing elements in a range 3-8: 
['K', 'S', 'F', 'O', 'R']

Elements sliced from 5th element till the end: 
['F', 'O', 'R', 'G', 'E', 'E', 'K', 'S']

Printing all elements using slice operation: 
['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S']

7.4 Cắt list chỉ mục âm


# Creating a List 
List = ['G','E','E','K','S','F', 
        'O','R','G','E','E','K','S'] 
print("Initial List: ") 
print(List) 
  
# Print elements from beginning 
# to a pre-defined point using Slice 
Sliced_List = List[:-6] 
print("\nElements sliced till 6th element from last: ") 
print(Sliced_List) 
  
# Print elements of a range 
# using negative index List slicing 
Sliced_List = List[-6:-1] 
print("\nElements sliced from index -6 to -1") 
print(Sliced_List) 
  
# Printing elements in reverse 
# using Slice operation 
Sliced_List = List[::-1] 
print("\nPrinting List in reverse: ") 
print(Sliced_List) 

Kết quả:

Initial List: 
['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S']

Elements sliced till 6th element from last: 
['G', 'E', 'E', 'K', 'S', 'F', 'O']

Elements sliced from index -6 to -1
['R', 'G', 'E', 'E', 'K']

Printing List in reverse: 
['S', 'K', 'E', 'E', 'G', 'R', 'O', 'F', 'S', 'K', 'E', 'E', 'G']

8. Các Phương thức trong List 

HÀM MÔ TẢ
Append()Thêm một yếu tố vào cuối list
Extend()Thêm tất cả các yếu tố của một list vào list khác
Insert()Chèn một mục vào chỉ mục được xác định
Remove()Xóa một mục khỏi list
Pop()Loại bỏ và trả về một phần tử tại chỉ mục đã cho
Clear()Xóa tất cả các mục khỏi list
Index()Trả về chỉ mục của mục phù hợp đầu tiên
Count()Trả về số lượng mục được truyền dưới dạng đối số
Sort()Sắp xếp các mục trong một list theo thứ tự tăng dần
Reverse()Đảo ngược thứ tự của các mục trong list
Copy()Trả về một bản sao của list

9. Các hàm tích hợp với List

HÀMMÔ TẢ
Reduce()Áp dụng một hàm cụ thể được truyền trong đối số của nó cho tất cả các phần tử list lưu trữ kết quả trung gian và chỉ trả về giá trị tổng cuối cùng
Sum()Tổng hợp các số trong list
Ord()Trả về một số nguyên biểu thị điểm mã Unicode của ký tự Unicode đã cho
cmp()Hàm này trả về 1, nếu list đầu tiên là Lớn hơn so với list thứ hai
Max()Trả về phần tử tối đa của list đã cho
Min()Trả về phần tử tối thiểu của list đã cho
All()Trả về true nếu tất cả phần tử là true hoặc nếu list trống
Any()Trả về true nếu bất kỳ phần tử nào của list là true. nếu list trống, trả về false
len()Trả về độ dài của list hoặc kích thước của list
Enumerate()Trả về đối tượng liệt kê của list
Accumulate()áp dụng một hàm cụ thể được truyền trong đối số của nó cho tất cả các phần tử list trả về một list chứa kết quả trung gian
Filter()kiểm tra xem mỗi phần tử của list có đúng hay không
Map()trả về một list các kết quả sau khi áp dụng hàm đã cho cho từng mục của một lần lặp đã cho
Lambda()Hàm này có thể có bất kỳ số lượng đối số nhưng chỉ có một biểu thức, được ước tính và trả về.

Nguồn và Tài liệu tiếng anh tham khảo:

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!