Toidicode.com

Toidicode.com

BASIC TO ADVANCE

Bài 6: List trong Python

Ở các bài trước chúng ta đã được tìm hiểu về 2 kiểu dữ liệu stringnumber trong Python rồi, bài này chúng ta sẽ tiếp tục tìm hiểu về kiểu dữ liệu thứ 3 trong Python đó là list.

1, List là gì? và khai báo list trong Python.

List trong Python là một dạng dữ liệu cho phép lưu trữ nhiều kiểu dữ liệu khác nhau trong nó, và chũng ta có thể truy xuất đến các phần tử bên trong nó thông qua vị trí của phần tử đó trong list. Ở đây, nếu như bạn nào đã tìm hiểu qua một ngôn ngữ nào đó thì có thể coi list trong Python như một mảng tuần tự trong các ngôn ngữ khác.

Để khai báo một list trong Python thì chúng ta sử dụng cặp dấu [] và bên trong là các giá trị của list.

[value1, value2,..., valueN]

Trong đó: value1, value2,..., valueN là các giá trị của list.

VD: Mình sẽ khai báo 1 list chứa tên các học sinh.

name = ['VU Thanh Tai', 'Nguyen Van A', 'Nguyen Thi E']

2, Truy cập đến các giá trị trong list.

Để truy cập đến các phần tử trong list thì các bạn làm tương tự như đối với chuỗi.

Các phần tử trong một list được đánh dấu bắt đầu từ 0 theo chiều từ trái sang phải và từ -1 theo chiều từ phải qua trái.

 list trong Python

VD: Mình sẽ truy xuất đến từng phần tử một của list trong VD trên.

name = ['Vu Thanh Tai', 'Nguyen Van A', 'Nguyen Thi E']
print(name[0]) # Vu Thanh Tai
print(name[1]) # Nguyen Van A
print(name[2]) # Nguyen Thi E
# hoặc
print(name[-3]) # Vu Thanh Tai
print(name[-2]) # Nguyen Van A
print(name[-1]) # Nguyen Thi E

Trong trường hợp bạn muốn in ra một phần của list thì bạn sử dụng cú pháp sau:

list[start:end]

Trong đó:

  • list là tên của biến chứa list.
  • start là ví trí bắt đầu lấy ra list con. Nếu để trống thì nó sẽ lấy từ đầy list.
  • end là vị trí kết thúc. Nếu để trống thì nó sẽ lấy đến phần tử cuối cùng của list.

VD:  Lấy ra 2 phần tử đầu của list trên.

name = ['Vu Thanh Tai', 'Nguyen Van A', 'Nguyen Thi E']
print(name[0:2])
# ['Vu Thanh Tai', 'Nguyen Van A']

# hoặc

print(name[-3:-1])
# ['Vu Thanh Tai', 'Nguyen Van A']

3, Sửa đổi và xóa bỏ giá trị phần tử trong list.

Sau khi bạn đã truy cập được đến các phần tử trong list rồi thì bạn có thể xử lý nó như nào tùy thích theo ý của bạn (sửa - xóa).

Update

Để sửa giá trị của các phần tử trong list thì các bạn chỉ cần truy cập đến phần tử mà mình cần sửa đổi và tiến hành gán giá trị mới cho nó.

VD: Sửa name thứ 2 trong list ở ví dụ trên thành 1996.

name = ['Vu Thanh Tai', 'Nguyen Van A', 'Nguyen Thi E']
print(name)
# ['Vu Thanh Tai', 'Nguyen Van A', 'Nguyen Thi E']

name[1] = 1996
print(name)
# ['Vu Thanh Tai', 1996, 'Nguyen Thi E']

Delete

Để xóa một hoặc nhiều phần tử trong list thì các bạn cần truy cập đến phần tử cần xóa và dùng hàm del để xóa. Và sau khi chúng ta xóa phần tử trong list thì index của list sẽ được cập nhật lại.

VD: Xóa phần tử thứ 3 trong list trên.

name = ['Vu Thanh Tai', 'Nguyen Van A', 'Nguyen Thi E']
print(name)
# ['Vu Thanh Tai', 'Nguyen Van A', 'Nguyen Thi E']

del name[2]
print(name)
# ['Vu Thanh Tai', 'Nguyen Van A']

4, List lồng nhau.

Do list có thể chứa nhiều kiểu dữ liệu khác nhau lên chúng ta hoàn toàn có thể khai báo một list chứa một hoặc nhiều list khác nhau.

VD:

option = [12,5,1996]
myList = ['Vu Thanh Tai', option]
print(myList)
# ['Vu Thanh Tai', [12, 5, 1996]]

Và cứ như thế chúng ta có thể lồng N list khác vào trong list.

Đối với list lồng nhau như này thì chúng ta chũng truy xuất đến các phần tử như bình thường, theo cấp từ ngoài vào trong.

VD: Mình sẽ truy cập vào phần tử dầu tiên trong list option.

option = [12,5,1996]
myList = ['Vu Thanh Tai', option]
print(myList)
# ['Vu Thanh Tai', [12, 5, 1996]]

subList = myList[1] # [12, 5, 1996]
subList[0] # 12

# hoặc có thể viết ngắn gọn như sau
myList[1][0] # 12

4, Lời kết.

Kiểu dữ liệu list trong Python rất quan trọng và thường xuyên phải sử dụng về sau, nên mọi người để ý giúp mình nhé.

Đă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

12 Comments

em đọc một số tài liệu khác thầy còn 'thêm phần tử vào mảng, lấy phần tử cuối cùng của mảng'. mong ad viết tiếp về các phần còn lại. thank you so much

cương

6 năm trước

Chào bạn, bạn có thể tham khảo bài 18 trong series nhé!

Vũ Thanh Tài

6 năm trước

Ad có thể gửi tài liệu qua mail của mình được ko ạ để mình có thể học tốt hơn. Cám ơn

Hồ Thị Ngọc Sang

5 năm trước

Cám ơn bạn!!!

Thảo Trịnh

4 năm trước

bạn ơi trong VD cuối ở phần 2 thì phải là 0:1 chứ

UFO

4 năm trước

Ad đúng mà, bạn xem lại nhé.

Thang Nguyen

4 năm trước

Mình gọi nhiều giá trị như trên thì sẽ dùng Slice như trong ví dụ ghi là [0:2]
Thì với Slice, đoạn in ra sẽ gồm từ vị trí 0 đến vị trí 2 nhưng không gồm vị trí 2 bạn nhé =

Thinh

3 năm trước

vậy muốn người dùng nhập list thì sao ạ?

3 năm trước

Đầu tiên người dùng cần nhập số phần tử, biết được số phần tử thì cho chạy trong vòng lặp và bắt đầu cho người dùng nhập, liên tục đưa giá trị vào trong biến list đã khai báo trước đó cho đến khi vòng lặp ngưng

Bôn

3 năm trước

bạn có xem phim nude ko ạ?

Admin ơi ở VD2: trường hợp print(name[-3:-1])
Thì kết quả phải là
['Nguyen Van A', 'Nguyen Thi E'] chứ

Bôn

3 năm trước

Nó lấy giá trị start và end đó bạn, có nghĩa là bao gồm -3 -2 -1 ( đếm ngược)

Thien Nhan Nguyen

2 năm trước

Bình luận

Captcha