Python cơ bản – Kiểu dữ liệu tập hợp List – Dictionary trong Python – Python-Ngôn ngữ lập trình thông dụng

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