List trong python là gì

Ở các bài trước chúng ta đã được tìm hiểu về 2 kiểu dữ liệu string và number 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.

 

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é.

Nội dung chính

  • Python Collections [Arrays]
  • Kiểu dữ liệu List trong Python
  • Truy cập các phần tử của List trong Python
    • Chỉ mục âm
    • Phạm vi chỉ mục
    • Phạm vi của các chỉ mục âm
  • Các hoạt động cơ bản trên List trong Python
    • Thay đổi giá trị của item
    • Duyệt các phần tử của một list
    • Kiểm tra sự tồn tại của một Item trong list
    • Độ dài của một list trong Python
    • Thêm phần tử tới List trong Python
    • Xóa phần tử khỏi list trong Python
    • Copy list trong Python
    • Nối 2 list trong Python
  • Constructor List[]
  • Các phương thức xử lý List trong Python

Python Collections [Arrays]

Có bốn kiểu dữ liệu collection trong ngôn ngữ lập trình Python:

  • List : là một collection có thứ tự, có thể thay đổi. Cho phép chứa dữ liệu trùng lặp.
  • Tuple : là một collection có thứ tự, không thể thay đổi. Cho phép chứa dữ liệu trùng lặp.
  • Set : là một collection không có thứ tự, không có chỉ mục. Không cho phép chứa dữ liệu trùng lặp.
  • Dictionary : là một collection không có thứ tự, có thể thay đổi và lập chỉ mục. Không có thành viên trùng lặp.

Kiểu dữ liệu List trong Python là một collection lưu trữ các phần tử theo tứ tự đã cho, có thể thay đổi. Cho phép chứa dữ liệu trùng lặp. List có cấu trúc dữ liệu mà có khả năng lưu giữ các kiểu dữ liệu khác nhau.

List trong Python được viết với dấu ngoặc vuông [].

Tương tự như chỉ mục của chuỗi, chỉ mục của List bắt đầu từ 0.

Ví dụ:

list1 = ['java', 'python', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];

Truy cập các phần tử của List trong Python

Để truy cập các phần tử trong List, bạn sử dụng cú pháp sau:

list1 = ['java', 'python', 'php', 'c++']
print[list1[1]]

Kết quả:

Chỉ mục âm

Lập chỉ mục âm có nghĩa là bắt đầu từ cuối, -1 đề cập đến mục cuối cùng, -2 đề cập đến mục cuối cùng thứ hai, v.v. Ví dụ:

list1 = ['java', 'python', 'php', 'c++']
print[list1[-1]]

Kết quả:

Phạm vi chỉ mục

Bạn có thể chỉ định một phạm vi chỉ mục bằng cách chỉ định nơi bắt đầu và nơi kết thúc phạm vi.

Khi chỉ định một phạm vi, giá trị trả về sẽ là một List mới với các mục được chỉ định.

Ví dụ 1: Trả lại mục thứ ba, thứ tư và thứ năm:

fruits = ["apple", "banana", "guava", "orange", "kiwi", "melon", "mango"]
print[fruits[2:5]]

Kết quả:

['guava', 'orange', 'kiwi']

Ví dụ 2: Bằng cách loại bỏ giá trị bắt đầu, phạm vi sẽ bắt đầu ở mục đầu tiên:

fruits = ["apple", "banana", "guava", "orange", "kiwi", "melon", "mango"]
print[fruits[:4]]

Kết quả:

['apple', 'banana', 'guava', 'orange']

Ví dụ 3: Bằng cách loại bỏ giá trị cuối, phạm vi sẽ đi đến cuối danh sách:

fruits = ["apple", "banana", "guava", "orange", "kiwi", "melon", "mango"]
print[fruits[3:]]

Kết quả:

['orange', 'kiwi', 'melon', 'mango']

Phạm vi của các chỉ mục âm

Chỉ định các chỉ mục âm nếu bạn muốn bắt đầu tìm kiếm từ cuối danh sách:

Ví dụ 1: trả về các mục từ chỉ mục -4 [bao gồm] đến chỉ mục -1 [không bao gồm]:

fruits = ["apple", "banana", "guava", "orange", "kiwi", "melon", "mango"]
print[fruits[-4:-1]]

Kết quả:

['orange', 'kiwi', 'melon']


Các hoạt động cơ bản trên List trong Python

Bạn có thể thực hiện các hoạt động nối 2 list với toán tử + hoặc hoạt động lặp với * như trong các chuỗi. Điểm khác biệt là ở đây nó tạo một List mới, không phải là một chuỗi.

Thay đổi giá trị của item

Để thay đổi giá trị của một item được chỉ định, ta dùng chỉ số và toán tử gán =, ví dụ:

fruits = ["apple", "banana", "guava"]
fruits[1] = "*orange*"
print[fruits]

Kết quả:

['apple', '*orange*', 'guava']

Duyệt các phần tử của một list

Bạn có thể duyệt các phần tử của một list bằng cách sử dụng vòng lặp for . Ví dụ:

fruits = ["apple", "banana", "guava"]
for x in fruits:
    print[x]

Kết quả:

Kiểm tra sự tồn tại của một Item trong list

Sử dụng từ khóa in để kiểm tra sử tồn tại của một item trong một list trong Python. Ví dụ:

fruits = ["apple", "banana", "guava"];
x = "banana" in fruits;
if [x == True]:
    print["\"banana\" co ton tai trong list"];
else:
    print["\"banana\" khong ton tai trong list"];

Kết quả:

"banana" co ton tai trong list

Độ dài của một list trong Python

Để xác định danh sách có bao nhiêu item, bạn có thể sử dụng hàm len[]:

fruits = ["apple", "banana", "guava"];
print["So item cua list fruts la: ", len[fruits]];

Kết quả:

So item cua list fruts la:  3

Thêm phần tử tới List trong Python

Để thêm một item [phần tử] vào cuối danh sách, hãy sử dụng phương thức append[]:

fruits = ["apple", "banana", "guava"];
fruits.append["kiwi"];
print[fruits];

Kết quả:

['apple', 'banana', 'guava', 'kiwi']

Để thêm item tại chỉ mục đã chỉ định, hãy sử dụng phương thức insert[]:

fruits = ["apple", "banana", "guava"];
fruits.insert[2, "kiwi"];
print[fruits];

Kết quả:

['apple', 'banana', 'kiwi', 'guava']

Xóa phần tử khỏi list trong Python

Có một số phương pháp để xóa các phần tử khỏi một list như sau:

Xóa phần tử bằng phương thức remove[]

fruits = ["apple", "banana", "guava"];
fruits.remove["banana"]
print[fruits];

Kết quả:

Xóa phần tử bằng phương thức pop[]

Phương thức pop[] xóa phần tử cuối cùng của list:

fruits = ["apple", "banana", "guava"];
fruits.pop[];
print[fruits];

Kết quả:

Xóa phần tử bằng lệnh del

Lệnh del được sử dụng để xóa phần tử có chỉ mục cụ thể:

fruits = ["apple", "banana", "guava"];
del fruits[0]
print[fruits];

Kết quả:

Xóa phần tử bằng phương thức clear[]

fruits = ["apple", "banana", "guava"];
fruits.clear[]
print[fruits];

Kết quả:

Copy list trong Python

Bạn không thể copy list chỉ bằng cách nhập list2 = list1, bởi vì: list2 sẽ chỉ là một tham chiếu đến list1 và những thay đổi trong list1 cũng sẽ tự động được thực hiện trong list2.

Để copy list, python cung cấp phương thức copy[].

fruits = ["apple", "banana", "guava"];
listCopy1 = fruits;
listCopy2 = fruits.copy[];
fruits.append["kiwi"]; # thay doi list ban dau
print["Bi thay doi theo list ban dau: ", listCopy1];
print["Khong bi thay doi theo list ban dau:", listCopy2];

Kết quả:

Bi thay doi theo list ban dau:  ['apple', 'banana', 'guava', 'kiwi']
Khong bi thay doi theo list ban dau: ['apple', 'banana', 'guava']

Một cách khác để tạo một bản sao là sử dụng phương thức tích hợp sẵn list[].

fruits = ["apple", "banana", "guava"];
listCopy1 = fruits;
listCopy2 = list[fruits]
fruits.append["kiwi"]; # thay doi list ban dau
print["Bi thay doi theo list ban dau: ", listCopy1];
print["Khong bi thay doi theo list ban dau:", listCopy2];

Kết quả:

Bi thay doi theo list ban dau:  ['apple', 'banana', 'guava', 'kiwi']
Khong bi thay doi theo list ban dau: ['apple', 'banana', 'guava']

Nối 2 list trong Python

Một trong những cách dễ nhất để nối 2 list là sử dụng toán tử +.

list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]

list3 = list1 + list2
print[list3]

Kết quả:

Hoặc bạn cũng có thể duyệt từng phần tử của một list và sử dụng hàm append[] để nối vào cuối của list thứ 2.

list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]

for x in list2:
    list1.append[x]

print[list1]

Kết quả:

Constructor List[]

Bạn có thể sử dụng constructor list[] để tạo một danh sách mới. Ví dụ:

fruits = list[["apple", "banana", "guava"]];
print[fruits]

Kết quả:

['apple', 'banana', 'guava']

Lưu ý trong ví dụ trên sử dụng 2 dấu ngoặc đơn [[, giống như bạn chuyển đổi một dictionary thành một list.

Các phương thức xử lý List trong Python

Ngoài các phương thức kể trên, Python còn xây dựng sẵn rất nhiều hàm và phương thức để bạn có thể sử dụng khi làm việc với List. Bảng dưới đây liệt kê các phương thức này. Bạn truy cập link để thấy ví dụ chi tiết.

Danh sách các hàm xử lý List trong Python:

STTHàm và Miêu tả
1 Hàm len[list]
Trả về độ dài của list
2 Hàm max[list]
Trả về phần tử có giá trị lớn nhất trong list
3 Hàm min[list]
Trả về phần tử có giá trị nhỏ nhất trong list
4 Hàm list[seq]
Chuyển đổi một tuple thành list

Danh sách các phương thức xử lý List trong Python:

STTHàm và Miêu tả
1 Hàm list.append[obj]
Phụ thêm đối tượng obj vào cuối list
2 Hàm list.count[obj]
Đếm xem có bao nhiêu lần mà obj xuất hiện trong list
3 Hàm list.extend[seq]
Phụ thêm các nội dung của seq vào cuối list
4 Hàm list.index[obj]
Trả về chỉ mục thấp nhất trong list mà tại đó obj xuất hiện
5 Hàm list.insert[index, obj]
Chèn đối tượng obj vào trong list tại index đã cho
6 Hàm list.pop[obj=list[-1]]
Xóa và trả về phần tử cuối cùng hoặc đối tượng obj có chỉ mục đã cung cấp từ list đã cho
7 Hàm list.remove[obj]
Xóa đối tượng obj từ list
8 Hàm list.reverse[]
Đảo ngược thứ tự các đối tượng trong list
9 Hàm list.sort[[func]]
Sắp xếp các đối tượng của list, sử dụng hàm so sánh nếu được cung cấp

Chủ Đề