Tóm Tắt
List là gì?
List là một danh sách được sử dụng để lưu trữ nhiều mục trong một biến duy nhất.
List là một trong 4 kiểu dữ liệu tích hợp sẵn trong Python được sử dụng để lưu trữ các bộ sưu tập dữ liệu, 3 kiểu còn lại là Tuple, Set và Dictionary,và cách sử dụng khác nhau.
List được tạo bằng dấu ngoặc vuông: [ ]
Tạo một list (Create a list)
mylist = ["apple", "banana", "cherry"] print(mylist) # Hoặc bằng phương thức List_1 = list(["apple", "banana", "cherry"]) print(List_1)
ví dụ:Tạo một list (Create a list)
Các mục trong list (List items)
Các phần tử (các mục) trong list được sắp xếp theo thứ tự, có thể thay đổi và cho phép các giá trị trùng lặp.
Các mục trong list được lập chỉ mục, mục đầu tiên có chỉ mục [0], mục thứ hai có chỉ mục [1], v.v.
Khi các phần tử trong list được sắp xếp theo thứ tự, điều đó có nghĩa là các phần tử đó có thứ tự xác định và thứ tự đó sẽ không thay đổi.
Nếu ta muốn thêm các phần tử mới vào list, các phần tử đó sẽ được đặt ở cuối list.
Lưu ý: Có một số phương pháp list sẽ thay đổi thứ tự, nhưng nói chung: thứ tự của các mục sẽ không thay đổi.
thislist = ["apple", "banana", "cherry"] print(thislist) # lập chỉ mục(index) # thislist[0] giá trị là "apple", thislist[1] có giá trị là "banana", thislist[2] có giá trị là "cherry"
List có thể thay đổi được
List có thể thay đổi, nghĩa là chúng ta có thể thay đổi, thêm và xóa các mục trong danh sách sau khi nó đã được tạo.
list3 = list(("apple", "banana", "cherry")) # kiểu dữ liệu dạng tuple list3[0] = "kiwi" list3.append("orange") print(list3) # KQ ['kiwi', 'banana', 'cherry', 'orange']
List cho phép các phần tử được trùng nhau (Duplicates)
Vì danh sách được lập chỉ mục nên danh sách có thể có các mục có cùng giá trị:
thislist = ["apple", "banana", "cherry", "apple", "cherry"] print(thislist) # ta thấy các phần tử trong list trên có thể giống nhau đó là "apple"
Độ dài của list (List Length)
Để xác định list có bao nhiêu phần tử, ta sử dụng hàm len ():
mylist = ["apple", "banana", "cherry"] print(len(mylist)) # kết quả trả về là 3 phần tử trong list
Loại dữ liệu của list (Data types)
Các phần tử trong list có thể thuộc bất kỳ kiểu dữ liệu nào:
list1 = ["apple", "banana", "cherry"] list2 = [1, 5, 7, 9, 3] list3 = [True, False, False]
Ví dụ:
Một danh sách có thể chứa các kiểu dữ liệu khác nhau:
list1 = ["abc", 34, True, 40, "male"]
List có thể lồng trong list
List1 = list([23,[5,7,43]]) print(List_1) # Kết quả: [23,[5,7,43]]
Dùng phương thức list() để đưa kiểu dữ liệu tập hợp (Tuple, set, Dict) về dạng list
list1 = list({"apple": 3, "banana":5, "cherry":4}) # kiểu dữ liệu dạng dict list2 = list({"apple", "banana", "cherry"}) # kiểu dữ liệu dạng set list3 = list(("apple", "banana", "cherry")) # kiểu dữ liệu dạng tuple print(list1) # KQ ['apple', 'banana', 'cherry'] print(list2) # KQ ['apple', 'banana', 'cherry'] print(list3) # KQ ['apple', 'banana', 'cherry']
Truy cập các phần tử trong list (Access Items)
Các phần tử trong list được lập chỉ mục (index) và chúng ta có thể truy cập chúng bằng cách truy cập vị trí phần tử trong list (số chỉ mục)
Lấy phần tử thứ 2 của list:
thislist = ["apple", "banana", "cherry"] print(thislist[1]) # Kết quả : "banana"
Ví dụ:Lấy phần tử thứ 2 của list:
Lưu ý: phần tử đầu tiên có chỉ số (index) là 0
Lập chỉ mục bắt đầu từ cuối list
Cũng giống như truy cập các ký tự trong chuỗi(strings) mà các bài trước ta đã học, list cũng có thể truy cập theo thứ tự ngược lại từ phải sang trái (Negative Indexing)
-1 đề cập đến mục cuối cùng, -2 đề cập đến mục cuối cùng thứ hai, v.v.
In ra phần tử cuối cùng của list:
thislist = ["apple", "banana", "cherry"] print(thislist[-1]) # Kết quả : "cherry"
Ví dụ:In ra phần tử cuối cùng của list:
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.
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"] print(thislist[2:5]) # Kết quả: ["cherry", "orange", "kiwi"]
Lưu ý: Tìm kiếm sẽ bắt đầu ở chỉ mục 2 (bao gồm) và kết thúc ở chỉ mục 5 (không bao gồm).
Hãy nhớ rằng mục đầu tiên luôn là chỉ số 0
Bằng cách bỏ đi giá trị bắt đầu, phạm vi sẽ bắt đầu ở mục đầu tiên
Ví dụ này trả về các mục từ đầu đến “orange”, nhưng không bao gồm “kiwi”:
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"] print(thislist[:4]) # KQ ["apple", "banana", "cherry", "orange"]
Ví dụ:Ví dụ này trả về các mục từ đầu đến “orange”, nhưng không bao gồm “kiwi”:
Bằng cách bỏ đi giá trị cuối, phạm vi sẽ chuyển sang cuối list
Ví dụ này trả về các mục từ “cherry” đến cuối:
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"] print(thislist[2:]) # KQ : ["cherry", "orange", "kiwi", "melon", "mango"]]
Ví dụ:Ví dụ này trả về các mục từ “cherry” đến cuối:
Ngoài ra ta cũng có thể truy cập phạm vi (range) theo hướng từ phải sang trái
Nếu bạn muốn bắt đầu tìm kiếm từ cuối danh sách, hãy sử dụng cách này.
Ví dụ này trả về các mục từ “orange” (-4) thành, nhưng không bao gồm “mango” (-1):
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"] print(thislist[-4:-1]) # trả về kết quả: ['orange', 'kiwi', 'melon']
Ví dụ:Ví dụ này trả về các mục từ “orange” (-4) thành, nhưng không bao gồm “mango” (-1):
Kiểm tra phần tử có tồn tại trong list hay không bằng hàm: if và từ khóa: in
Để xác định xem một mục cụ thể có xuất hiện trong danh sách hay không
thislist = ["apple", "banana", "cherry"] if "apple" in thislist: print("Yes, 'apple' is in the fruits list") # kết quả : "Yes, 'apple' is in the fruits list"
Chúc các bạn học tốt