icantech
Lập trình Python
1252
02/10/2023

Hàm list trong Python là gì? Tại sao phải dùng list trong Python?

Trong Python, chuỗi các loại dữ liệu khác nhau được lưu trữ trong một danh sách được gọi là list và chúng ta có thể trích xuất dữ liệu trong list bằng cách xác định vị trí dữ liệu. Trong bài viết này, hãy cùng ICANTECH tìm về về hàm list trong Python cũng như cách sử dụng nhé!

1. Tổng quan về hàm list trong Python

Danh sách list là tập hợp các loại giá trị hoặc dữ liệu khác nhau gọi là datatypes ví dụ: strings, integers, objects. Kể cả khi list đã được hình thành, chúng ta vẫn thay đổi được dữ liệu trong list.

1.1. Hàm list trong Python là gì?

Danh sách list trong Python là một loại dữ liệu tuần tự, tương tự như mảng array của nhiều ngôn ngữ lập trình khác. Ví dụ: Vector của C++ và ArrayList của Java. 

Dữ liệu trong list danh sách được xếp tuần tự và có số lượng phần tử được xác định trong một list. Các phần tử  được xác định và vị trí đầu tiên trong list theo thứ tự sẽ là 0 tương ứng với chỉ mục 0 và là vị trí phần tử đầu tiên trong danh sách list.

1.2. Cú pháp khai báo list trong Python

Trong Python để tạo ra một danh sách list chúng ta có thể khai báo bằng cách thêm chuỗi - String, số - Integer hoặc đối tượng - Object vào bên trong một cặp ngoặc vuông. Các phần tử khai báo trong cặp ngoặc vuông được ngăn cách bởi một dấu phẩy. Dưới đây là cú pháp để khai báo list.

Code:

code

Kết quả:

ket-qua

2. Đặc điểm của list trong Python

Đặc điểm của list như sau:

  • Phần tử trong list được sắp xếp theo thứ tự
  • Phần tử list có thể được truy xuất thông qua chỉ mục index
  • Phần tử trong list có thể thay đổi
  • Có thể lưu nhiều phần tử khác nhau trong một list

3. Kiểm tra và so sánh phần tử của list

Code:

code

Ở ví dụ phía trên chúng ta có 2 list và đồng thời chúng ta có tập hợp các phần tử có loại dữ liệu datatypes không giống nhau và đã được thêm vào list. Tuy nhiên, chúng ta hãy nhìn list thứ 2, phần tử thứ 2 trong list đã thay đổi vị trí với phần tử thứ 5, điều này trái với điều kiện list được đưa ra a == b. Kết quả false được trả về khi hai danh sách được so sánh.

Chúng ta hãy cùng xem ví dụ tiếp theo dưới đây:

Code:

code

Ở ví dụ tiếp theo này, chúng ta thấy các phần tử bên trong 2 list đã được sắp xếp giống nhau và qua đó đã thoả được điều kiện list đã đưa ra a == b. Kết quả true được trả về khi hai danh sách được so sánh.

4. Chỉ mục index và phân tách splitting trong list

Việc lập chỉ mục được thực hiện tương tự như xử lý chuỗi. Toán tử slice operator [] được sử dụng để truy xuất vào phần tử bên trong list.

Chỉ mục index nằm trong khoảng từ 0 đến (độ dài -1). Chỉ mục index thứ 0 là vị trí lưu trữ phần tử đầu tiên của list;  và chỉ mục đầu tiên là vị trí lưu trữ của phần tử thứ hai, v.v.

Ví dụ:

vi-tri-luu-cua-list

Ngoài ra, chúng ta có thể lấy danh sách con sublist của danh sách list bằng cú pháp sau.

danh-sach-con-sublist-cua-danh-sạch-list

Giải thích

  • Start đại diện cho vị trí bắt đầu của phần tử trong list mà chúng ta muốn lấy.
  • Stop đại diện cho vị trí kết thúc của phần tử trong list mà chúng muốn lấy.
  • Step là tham số tuỳ chọn trong việc chỉ định vị trí mà chúng ta muốn lấy phần tử và tham số step sẽ bắt đầu từ tham số start và kết thúc bằng tham số stop. Mặc định giá trị của tham số step là 1.

Ví dụ:

vi-du

Ở ví dụ trên tham số start bắt đầu từ vị trí chỉ mục index số 2 và kết thúc ở chỉ mục index số 7. Vậy chúng ta sẽ lấy được các phần tử [c,d,e,f,g]. Nhưng khi chúng ta thêm tham số step là 2 và so với tham số start, cuối cùng là tham số stop. Chúng ta có một list phần tử mới [c,e,g]. Có nghĩa là khi ta chỉ định tham số step sẽ là chỉ mục 2 so với chỉ mục start, lúc này tham số start sẽ là chỉ mục 0 và cuối cùng vẫn là chỉ mục 7 so với tham số Start có chỉ mục là 2.

Hãy xem xét ví dụ sau:

Code:

code

Kết quả

ket-qua

Ngược lại với các ngôn ngữ lập trình khác, Python cho phép chúng ta sử dụng lập chỉ mục index theo dạng phủ định. Các chỉ số âm được tính từ bên phải. Chỉ số -1 đại diện cho phần tử cuối ở bên phải của list, theo sau là chỉ mục -2 cho thành viên tiếp theo ở bên trái, v.v. cho đến khi đạt được phần tử cuối cùng ở bên trái.

Chúng ta hãy xem ví dụ sau trong đó chúng ta sẽ sử dụng lập chỉ mục phủ định để truy xuất các phần tử của list.

Code:

code

Chỉ mục phủ định cho phép chúng ta lấy được một phần tử, như đã đề cập trước đó. Mục ngoài cùng bên phải trong list được trả về bằng câu lệnh print đầu tiên trong đoạn mã trên. Câu lệnh print thứ hai trả về sublist, v.v.

5. Cập nhật giá trị trong list

Do tính chất có thể thay đổi của list. Chúng ta có thể truy xuất vào list để lấy các phần tử chỉ định bằng chỉ mục. Mặt khác trong Python cũng hỗ trợ chúng ta các phương thức khác để thêm, xóa hoặc cập nhật giá trị vào list. Ví dụ: Phương thức append(), insert(), remove().

Hãy xem xét ví dụ sau để cập nhật các giá trị bên trong list.

Code: 

code

Các thành phần trong list cũng có thể bị xóa việc sử dụng từ khóa del. Ngoài ra, Python có một phương thức remove() giúp chúng ta xóa phần tử trong list, biết được chỉ số

Hãy xem xét ví dụ sau để xóa các thành phần ra khỏi list.

Code:

code

6. Các toán tử chúng ta có thể áp dụng với list trong Python

Chúng ta có thể sử dụng phương pháp nối chuỗi để nối các list lại với nhau bằng cách sử dụng dấu cộng hoặc chúng ta có thể lặp list bằng cách sử dụng dấu sao. Ngoài 2 toán tử trên chúng ta có thể sử dụng các toán tử khác để áp dụng cho list phía bên dưới.

  • Repetition - toán tử lặp
  • Concatenation - toán tử nối chuỗi
  • Length - toán tử lấy độ dài của list
  • Iteration - toán tử lặp lấy giá trị trong list
  • Membership - toán tử so sánh giá trị trong list

Chúng ta sẽ đi sâu vào cách hoạt động của từng loại toán tử ở phía bên dưới.

6.1 Repetition - toán tử lặp

Khi chúng ta sử dụng toán tử lặp bằng cách (List * number). Lúc này chúng ta sẽ nhận được một list mới và các phần tử bên trong sẽ được lặp lại tương ứng với number mà chúng ta điền vào. Ví dụ:

Code:

code

6.2 Concatenation - toán tử nối chuỗi

Khi áp dụng toán tử này chúng ta sẽ sử dụng dấu “+” và nối 2 “List” lại với nhau (“List-1” + “List-2”). Kết quả chúng ta nhận được là một “List” mới với các phần tử bên trong “List” đã được gộp lại với nhau. Ví dụ:

Code:

code

6.3 Length - toán tử lấy độ dài

Chúng ta sử dụng “Length” để biết được độ dài của một list bằng cách len(List). Chúng ta sẽ có kết quả là một số biểu thị cho độ dài của “List”. Ví dụ:

Code:

code

6.4 Iteration - toán tử lặp lấy giá trị 

Vòng lặp for được sử dụng để lặp qua các phần tử trong danh sách. Ví dụ:

Code:

code

6.5 Membership - toán tử so sánh

Nó trả về true nếu một giá trị cụ thể tồn tại trong một list cụ thể. Ngược lại nếu không tồn tại trong list thì sẽ trả về kết quả false. Ví dụ:

Code:

code

Kết quả:

ket-qua

7. List Comprehension trong Python là gì

List comprehension trong Python là một cú pháp dễ dàng và nhỏ gọn để tạo danh sách từ một chuỗi hoặc danh sách khác. Đó là một cách rất ngắn gọn để tạo danh sách mới bằng cách thực hiện thao tác trên từng mục trong danh sách hiện có. Nó giúp cho việc hiểu danh sách nhanh hơn đáng kể hơn so với việc xử lý danh sách bằng vòng lặp for. Ví dụ dưới đây sẽ giúp bạn hiểu hơn về List Comprehension.

Code

code

Kiểu dữ liệu danh sách list là kiểu dữ liệu linh hoạt có thể được sửa đổi trong suốt quá trình code của bạn. Trong bài giới thiệu này đã đề cập đến các tính năng cơ bản của list, bao gồm lập chỉ mục, cắt, xóa phần tử và nối danh sách.

8. Lời Kết

Từ đây, chúng ta có thể tìm hiểu thêm về cách làm việc với list trong Python và cách để tạo ra danh sách mới dựa trên danh sách hiện có. Để tìm hiểu thêm về các loại dữ liệu nói chung, chúng ta có thể tra cứu thêm trên mạng “Tìm hiểu các kiểu dữ liệu data types trong Python”. 

Hy vọng qua bài viết trên bạn đã hiểu rõ hơn về hàm list trong Python. Hãy theo dõi ICANTECH để học được thêm kiến thức về lập trình miễn phí hơn nhé!

Nguồn ảnh: ICANTECH.

Share
Tags
Lập trình Python

Bài tương tự