You are on page 1of 8

Bài 7: KIỂU DANH SÁCH

1. Khái niệm.
Python cung cấp một loạt các dữ liệu phức hợp, thường được gọi là các chuỗi
(sequence), sử dụng để nhóm các giá trị khác nhau. Đa năng nhất là danh sách (list). Danh
sách (list) trong Python được biểu diễn bằng dãy các giá trị, được phân tách nhau bằng dấu
phẩy, nằm trong dấu []. List không giới hạn số lượng giá trị, bạn có thể có nhiều kiểu dữ
liệu khác nhau trong cùng một list, như chuỗi, số nguyên, số thập phân,...
list1 = [] # list rỗng
list2 = [1, 2, 3] # list để lưu trữ các số nguyên
list3 = [1, “Hello”, 3.4] # list để lưu trữ các kiểu dữ liệu hỗn hợp
list4 = [“hoa”cuc”,”lan”] # list để lưu trữ các xâu kí tự

2. Các thao tác trên danh sách

a. Cách tạo ra danh sách

Tên danh sách = [ Dãy các giá trị ]


Trong đó, không giới hạn số lượng các giá trị, các giá trị cách nhau bởi dấu phẩy,
có thể cùng hoặc khác kiểu dữ liệu, thường thì cùng kiểu. Một giá trị trong danh sách được
gọi là 1 phần tử của danh sách đó, phần tử có một chỉ số để truy xuất, thường chỉ số là các
số nguyên liên tiếp bắt đầu từ 0. Tức phần tử đầu tiên có chỉ số là 0

Ví dụ:
Dayle=[1,3,5,7,9]
Dayle có 5 phần tử lần lượt là 1 3 5 7 9, các phần tử có chỉ số lần lượt là 0,1,2,3,4
Daythuc=[1.2,2.5,3.5]
Daythuc có 3 phần tử, phần tử thứ 1 là 1.2 có chỉ số là 0, phần tử thứ 2 là 2.5 có chỉ số là 1,
phần tử thứ 3 là 3.5 có chỉ số là 2.
b. Cách truy xuất tới các phần tử trong danh sách
Để truy xuất tới các phần tử trong list bạn dùng toán tử [] theo cú pháp sau:
Tên danh sách[chỉ số của phần tử đó]
Ví dụ 1: Dayle[0] truy xuất đến phần tử đầu tiên có giá trị là 1
Ví dụ 2: Ta có đoạn lệnh

Ten = ["Viet", "Dung", "Huong"]


print(Ten[1])

1
Kết quả khi chạy chương trình:
Dung

Ví dụ 3: Ta có đoạn lệnh

Ten = ["Viet", "Dung", "Huong"]


for ch in Ten:
print(ch)

Ta được kết quả


Viet
Dung
huong

Lưu ý: Trong list có chỉ số âm và dương


- Chỉ số âm có nghĩa là bắt đầu từ cuối, -1 đề cập đế phần tử cuối cùng.
Ví dụ:
list1 = ['java', 'python', 'php', 'c++']

print(list1[-1])

Kết quả: c++


- Chỉ số dương là truy cập từ phần tử đầu đến phần tử cuối, bắt đầu từ 0
- Phạm vi chỉ số
Ta có thể chỉ ra một phạm vi hay 1 đoạn của list bằng cách chỉ định chỉ số bắt đầu và
nơi kết thúc của đoạn. Khi chỉ định một phạm vi (đoạn) 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 phần tử 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 ở chỉ số đầu tiên:
fruits = ["apple", "banana", "guava", "orange", "kiwi",
"melon", "mango"]
2
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ỉ số â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 phần tử từ chỉ số -4 (bao gồm) đến chỉ số -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ách thêm một phần tử vào cuối 1 danh sách
Để thêm một phần tử vào cuối của list ta dùng thủ tục append() theo cú pháp

Tên danh sách.append(giá trị)

Tức là thêm 1 phần tử giá trị vào cuối danh sách


Ví dụ 1: Ta có đoạn lệnh

lst = []
lst.append(4)
lst.append(3)
lst.append(6)

Tức là tạo 1 danh sách gồm 3 phần tử 4,3,6


Ví dụ 2: Viết chương trình nhập vào n dãy số nguyên từ bàn phím

3
n = int(input())
lst = [] #khoi tao danh sách rỗng
for i in range(n):
lst.append(int(input()))

Ví dụ 3: Thay đổi giá trị của 1 phần tử

fruits = ["apple", "banana", "guava"]


fruits[1] = "*orange*"
print(fruits)

Kết quả là: ['apple', '*orange*', 'guava']

Ví dụ 4: Ta có đoạn code:

list=[1,2,3,4]

list[2]=5

print(list)

Kết quả là: 1 2 5 4

- Duyệt các phần tử của 1 list, ta dùng vòng for


list = [1,2,3,4,5]
for x in list:
print(x)
Kết quả:
1
2
3
4
5
- Kiểm tra sự tồn tại của 1 phần tử trong list: Dùng in
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

4
- 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ả: ['a', 'b', 'c', 1, 2, 3]

4. Các hàm và thủ tục trên danh sách


a. Hàm len
Len(s)= số phần tử có trong list s.
Ví dụ:

lst = [2, 3, 1]
print(len(lst))

Kết quả khi chạy chương trình: 3


Ta có thể tận dụng hàm len() để hỗ trợ duyệt qua các phần tử trong list:

lst = [2, 3, 1]
for i in range(len(lst)):
print(lst[i])

b. Hàm max, min


max(s)=Phần tử lớn nhất trong list s.
min(s)=Phần tử nhỏ nhất trong list s.
Ví dụ:

lst = [2, 3, 1]
print(max(lst))
print(min(lst))

Kết quả khi chạy chương trình:


3
1
c. Hàm copy
list.copy(): Trả về bản sao của list
5
Ví dụ:
ng=[1,2,3]
th=ng.copy()
print(th)
cho kết quả: [1,2,3]
d. Hàm count
list.count(x)= số lần xuất hiện của phần tử x trong list. Ví dụ:

list = [6, 2, 3, 8, 2]

thì list.count(2)=2
a. insert
Đây là thủ tục dùng để thêm một phần tử vào một ví trí trong list:
List.insert(n,x): Thực hiện chèn x vào danh sách list tại vị trí thứ n của list. Lưu ý trong
danh sách bắt đầu là vị trí 0
Ví dụ:

xau = ['a', 'b', 'c', 'd']


xau.insert(2, 'o')
print(xau)

Kết quả khi chạy chương trình:

['a', 'b', 'o', 'c',’d’]

b. remove
list.remove(x): Thực hiện xóa phần tử x xuất hiện đầu tiên trong list
Ví dụ1:

xau = ['a', 'b', 'c', 'd']


xau.remove('c')
print(xau)

Kết quả khi chạy chương trình:

6
['a', 'b',’d’]

Ví dụ 2:
Nguyen=[1,2,3,4,2]
Nguyen.remove(2)
Print(Nguyen)
Kết quả khi chạy chương trình: [1,3,4,2]
Lưu ý, nếu trong list không có phần tử x thì Python sẽ báo lỗi “x not in list”
c. pop
list.pop(n): Dùng để xóa một phần tử có chỉ số n trong list.
Ví dụ 1:

list = ['A', 'B', 'C']


# Xóa phần tử thứ 2 khỏi list
list.pop(1)
print(list)

Kết quả khi chạy chương trình:

['A', 'C']

d. sort
list.sort(): Thực hiện sắp xếp các phần tử trong list tăng dần. Ví dụ:

list = [4, 5, 3, 7, 6, 1]
# Sắp xếp các phần tử trong list theo thứ tự tăng dần
list.sort()
print(list)

Kết quả khi chạy chương trình:

[1, 3, 4, 5, 6, 7]

e. reverse

7
list.reverse(): Thực hiện đảo ngược vị trí xuất hiện của các phần tử trong list. Ví dụ:

list = [4, 5, 3, 7, 6, 1]
list.reverse()
print(list)

Kết quả khi chạy chương trình:

[1, 6, 7, 3, 5, 4]

f. clear
list.clear(): Thực hiện xóa hết các phần tử bên trong list:
lst = [1, 2, 3]
lst.clear()
print(lst)

Kết quả khi chạy chương trình: []


g. 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ả:

['banana', 'guava']

You might also like