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é!
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.
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.
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:
Kết quả:
Đặc điểm của list như sau:
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:
Ở 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.
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ụ:
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.
Giải thích
Ví dụ:
Ở 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:
Kết quả
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:
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.
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:
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:
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.
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.
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:
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:
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:
Vòng lặp for được sử dụng để lặp qua các phần tử trong danh sách. Ví dụ:
Code:
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:
Kết quả:
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
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.
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.