Bài 11. Kiểu mảng

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Nguyễn Thanh Tuyền
Ngày gửi: 12h:05' 02-02-2023
Dung lượng: 8.8 MB
Số lượt tải: 84
Nguồn:
Người gửi: Nguyễn Thanh Tuyền
Ngày gửi: 12h:05' 02-02-2023
Dung lượng: 8.8 MB
Số lượt tải: 84
Số lượt thích:
0 người
Chủ đề 4:KIỂU DỮ LIỆU CÓ CẤU TRÚC
BÀI 11: KIỂU DANH SÁCH - LIST
KHỞI ĐỘNG
•5
• -10
• 5.7
• 2/3
• “A”
• “hello”
Kiểu số
nguyên (int)
Kiểu số
thực (float)
Kiểu xâu kí
tự (str)
• True
• False
Kiểu logic
(bool)
•?
•?
Kiểu danh
sách (list)
Danh sách học sinh
Nguyễn An
Trần Bình
Nguyễn Hòa
Kiều Thị Liên
Hoàng Mai
Ngô Hoàng Phương
Ngô Hà Trang
Trần Thanh Trúc
Phạm Lê Vũ
Danh sách
các số tự
nhiên đầu
tiên
0
1
2
3
4
5
6
7
8
9
Danh sách
điểm thi cuối
kì
7
8.5
6.25
Không đạt
Đạt
Không Đạt
6
9.0
Đạt
10
Danh sách
học sinh
Nguyễn An
Trần Bình
Nguyễn Hòa
Kiều Thị Liên
Hoàng Mai
Ngô Hoàng
Phương
Danh
sách các
số tự
nhiên đầu
tiên
0
1
2
3
Ngô Hà Trang
4
Trần Thanh
Trúc
5
Phạm Lê Vũ
7
6
Kiểu danh sách
(list)
Danh sách
điểm thi cuối
kì
7
8.5
6.25
Không đạt
Đạt
Không Đạt
6
9.0
BÀI 11:
KIỂU DANH SÁCH - LIST
NỘI DUNG BÀI HỌC
1. Khởi tạo danh sách List
Bài 11: KIỂU
DANH SÁCH
LIST
2. Các phép toán và phương thức của List
3. Các thao tác xử lí của List
Danh sách học sinh
Nguyễn An
1. Khởi tạo kiểu danh sách
Trần Bình
Nguyễn Hòa
Kiều Thị Liên
Hoàng Mai
Ngô Hoàng Phương
Ví dụ : B = [1.5, 2, “Python”, “List”, 0]
1.5
B
Tên danh sách
B[0]
2
B[1]
Python
B[2]
Phần tử của danh
sách
Danh sách các
số tự nhiên
đầu tiên
7
0
1
2
3
4
Ngô Hà Trang
5
Trần Thanh Trúc
6
Phạm Lê Vũ
7
Kiểu danh
sách (list)
List
B[3]
Danh sách điểm thi
cuối kì
0
B[4]
Chỉ số
Trong Python chúng ta có thể lưu trữ các kiểu dữ liệu
khác nhau như số nguyên, số thực, chuỗi… trong cùng
một danh sách (list) và cho phép truy cập tới mỗi phần tử
của dãy theo vị trí (chỉ số) của phần tử đó. Kiểu dữ liệu
danh sách (List) đượ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 [].
8.5
6.25
Không đạt
Đạt
Không Đạt
6
9.0
1. Khởi tạo kiểu danh sách
1.5
B
Tên danh sách
B[0]
2
B[1]
Python
B[2]
Phần tử của danh
sách
List
B[3]
0
B[4]
Chỉ số
Định nghĩa: List (danh sách) là một dãy các giá trị được viết cách
nhau bởi dấu phẩy và bao hàm trong dấu ngoặc vuông. List được đặt
tên và mỗi phần tử của nó có một chỉ số.
Để khởi tạo List ta sử dụng cú pháp:
= [, , …, ]
Ví dụ: A = [1, 2, 3, 4, 5]
B = [1.5, 2, “Python”, “List”, 0]
1. Khởi tạo kiểu danh sách
= [, , …, ]
Trong đó:
-
Các giá trị có thể có kiểu dữ liệu khác nhau (số nguyên, số thực, kiểu xâu kí tự, kiểu logic
…)
-
Để truy cập đến từng phần tử của danh sách A thông qua chỉ số k, viết: A[k].
-
Chỉ số của danh sách sẽ được đánh bắt đầu từ 0. Ngoài ra danh sách còn hỗ trợ cách đánh
chỉ số âm.
Ví dụ: B = [1.5, 2, “Python”, “List”, True, 0]
Danh sách B
Chỉ số
Chỉ số âm
1.5
0
-6
2
1
-5
“Python”
2
-4
“List”
3
-3
= [] # khai báo List rỗng có độ dài bằng 0
True
4
-2
-1
0
5
1. Khởi tạo kiểu danh sách
= [, , …, ]
Ví dụ:
Một số thao tác với kiểu dữ liệu danh sách
• Khởi tạo một danh sách:
A = [1, 2, 3, 4, 5]
• Truy cập từng phần tử của danh sách:
A[0], A[1], A[2], A[3], A[4]
• Tính độ dài của danh sách:
len(A)
• Gán giá trị cho phần tử
A[1]=10
• Xóa phần tử của danh sách:
del A[2]
• Tạo danh sách rỗng:
B=[ ]
• Ghép 2 danh sách:
[1, 2]+[3, 4, 5, 6]
2. Các phép toán và phương thức của List
a.Các phép toán của List
Các phép toán
Cú pháp
Hàm tính độ dài
len()
danh sách
Tạo 1 danh sách
= []
rỗng
Thay đổi giá trị
[chỉ
của từng phần tử
số] =
bằng lệnh gán
Ví dụ
2. Các phép toán và phương thức của List
a.Các phép toán của List
Xóa một phần tử del
sách>[chỉ số]
của danh sách
Phép ghép (+) và
nhân (*) danh
sách
danh
Ví dụ
Tính độ dài của danh sách
Thay đổi giá trị từng
phần bằng lệnh gán
Xóa một phần tử
của danh sách
Ví dụ
Lệnh tạo một danh sách
rỗng có độ dài bằng 0
Các phép ghép
hai danh sách
Câu hỏi và bài tập
1.
Cho
danh
sách
A
=
[1,0,"One",9,15,"Two",True,False]. Hãy cho biết giá trị
các phần tử: 1
a) A[0]
c) A[7]
False
'One'
b) A[2]
d) A[len(A)]
Lỗi chỉ số
2. Giả sử A là một danh sách các số, mỗi lệnh
sau thực hiện công việc gì?
a) A = A + [10]
b) del A[0]
c) A = [100] + A
d) A = A[1]*25
a) Bổ sung phần tử 10 vào cuối danh sách A.
b) Xóa phần tử đầu tiên của danh sách A.
c) Bổ sung số 100 vào đầu danh sách A.
d) Thiết lập biến A mới là tích của 25 với giá trị
phần tử thứ hai của danh sách A.
2. Các phép toán và phương thức của List
b.Các phương thức của List
Phương thức
Cú pháp
Ý nghĩa
append
a.append(<đối tượng>)
Bổ sung <đối tượng> vào cuối danh sách như
một phần tử.
clear
a.clear()
copy
b = a.copy()
Trả về một danh sách b có giá trị giống danh
sách a (tạo ra bản sao của a)
extend
a.extend(<đối tượng>)
Mở rộng, bổ sung <đối tượng> vào cuối danh
sách a
index
k = a.index()
Trả về chỉ số index đầu tiên trong danh sách
của giá trị
insert
a.insert(index, <đối tượng>)
Chèn <đối tượng> vào danh sách ở trước vị trí
index.
pop
x = a.pop()
Xóa và lấy ra phần tử cuối cùng của danh sách
a. Đây chính là thao tác lấy phần tử ở đầu ngăn
xếp.
remove
a.remove()
Xóa đi phần tử đầu tiên của a có giá trị =trị>
reverse
a.reverse()
Sắp xếp các phần tử của a theo thứ tự ngược so
với ban đầu
sort
a.sort
Sắp xếp các phần tử của dãy a theo thứ tự tăng
dần của giá trị các phần tử
Xóa dữ liệu, đưa danh sách a thành rỗng
2. Các phép toán và phương thức của List
b.Các phương thức của List
Phương
thức
append
insert
clear
remove
sort
Cú pháp
Ý nghĩa
A.append(x)
Thêm phần tử x vào
cuối danh sách A
A.insert(k, x)
Chèn phần tử x vào
trước vị trí k của danh
sách A
A.clear(x)
Xóa toàn bộ dữ liệu
của danh sách A (thành
rỗng)
A.remove(x)
Xóa phần tử x tìm thấy
đầu tiên từ danh sách A
(nếu không có phần tử
nào như vậy sẽ báo lỗi)
A.sort()
Sắp xếp lại danh sách
A theo thứ tự tăng dần
của giá trị các phần tử
Ví dụ
BÀI TẬP
Cho dãy số [1, 2, 2, 3, 4, 5, 5]. Viết lệnh thực hiện:
a) Chèn số 1 vào ngay sau giá trị 1 của dãy.
A.insert(1,1)
b) Chèn số 3 và số 4 vào danh sách để dãy có số 3 và
số 4 liền nhau hai lần.
A.insert(4,3)
A.insert(5,4)
3. Các thao tác xử lí của List
a. Nhập danh sách các phần tử
Thao tác
Câu lệnh
Khởi tạo danh sách A rỗng A = []
Nhập số phần tử N
N = int(input(“Nhập N = ”))
for i in range(0, N):
temp = int(input(“Nhập phần tử thứ ” + str(i + 1)
Nhập giá trị của N phần tử
+ “: ”)) A = A + [temp]
Ngoài ra ta có thể khởi tạo danh sách số nguyên hay số thực từ dữ liệu nhập
vào:
Ví dụ: Câu lệnh cho phép nhập một dãy số nguyên trên một dòng.
a = [int(i) for i in input().split()]
3. Các thao tác xử lí của List
Ví dụ 1:
3. Các thao tác xử lí của List
b. Duyệt và in danh sách các phần tử
* Duyệt các phần tử của danh sách với toán tử in
Toán tử in dùng để kiểm tra một phần tử có nằm trong danh sách đã cho hay
không. Kết quả trả lại True
hoặc False.
Cú pháp: in
Ví dụ 1: Dùng toán tử in để kiểm tra một giá trị có nằm trong danh sách hay
không.
Ví dụ 2: Sử dụng toán tử in để duyệt
và in ra từng phần tử của danh sách.
3. Các thao tác xử lí của List
b. Duyệt và in danh sách các phần tử
* Duyệt các phần tử của danh sách với lệnh for
Ví dụ 3: Duyệt và in ra từng phần tử của danh sách A Chương trình:
3. Các thao tác xử lí của List
b. Duyệt và in danh sách các phần tử
Ví dụ 4: Duyệt và in một phần của danh sách A
3. Các thao tác xử lí của List
c. Xử lý trong List
Thao tác
Câu lệnh
S=0
Tính tổng S các phần tử của for i in range(0, N):
S = S + A[i]
A
In S ra màn hình
print("Tổng các phần tử:", S)
DẶN DÒ VÀ CỦNG CỐ
1. Khởi tạo danh sách List
Bài 11: KIỂU
DANH SÁCH
LIST
2. Các phép toán và phương thức của List
3. Các thao tác xử lí của List
BÀI 11: KIỂU DANH SÁCH - LIST
KHỞI ĐỘNG
•5
• -10
• 5.7
• 2/3
• “A”
• “hello”
Kiểu số
nguyên (int)
Kiểu số
thực (float)
Kiểu xâu kí
tự (str)
• True
• False
Kiểu logic
(bool)
•?
•?
Kiểu danh
sách (list)
Danh sách học sinh
Nguyễn An
Trần Bình
Nguyễn Hòa
Kiều Thị Liên
Hoàng Mai
Ngô Hoàng Phương
Ngô Hà Trang
Trần Thanh Trúc
Phạm Lê Vũ
Danh sách
các số tự
nhiên đầu
tiên
0
1
2
3
4
5
6
7
8
9
Danh sách
điểm thi cuối
kì
7
8.5
6.25
Không đạt
Đạt
Không Đạt
6
9.0
Đạt
10
Danh sách
học sinh
Nguyễn An
Trần Bình
Nguyễn Hòa
Kiều Thị Liên
Hoàng Mai
Ngô Hoàng
Phương
Danh
sách các
số tự
nhiên đầu
tiên
0
1
2
3
Ngô Hà Trang
4
Trần Thanh
Trúc
5
Phạm Lê Vũ
7
6
Kiểu danh sách
(list)
Danh sách
điểm thi cuối
kì
7
8.5
6.25
Không đạt
Đạt
Không Đạt
6
9.0
BÀI 11:
KIỂU DANH SÁCH - LIST
NỘI DUNG BÀI HỌC
1. Khởi tạo danh sách List
Bài 11: KIỂU
DANH SÁCH
LIST
2. Các phép toán và phương thức của List
3. Các thao tác xử lí của List
Danh sách học sinh
Nguyễn An
1. Khởi tạo kiểu danh sách
Trần Bình
Nguyễn Hòa
Kiều Thị Liên
Hoàng Mai
Ngô Hoàng Phương
Ví dụ : B = [1.5, 2, “Python”, “List”, 0]
1.5
B
Tên danh sách
B[0]
2
B[1]
Python
B[2]
Phần tử của danh
sách
Danh sách các
số tự nhiên
đầu tiên
7
0
1
2
3
4
Ngô Hà Trang
5
Trần Thanh Trúc
6
Phạm Lê Vũ
7
Kiểu danh
sách (list)
List
B[3]
Danh sách điểm thi
cuối kì
0
B[4]
Chỉ số
Trong Python chúng ta có thể lưu trữ các kiểu dữ liệu
khác nhau như số nguyên, số thực, chuỗi… trong cùng
một danh sách (list) và cho phép truy cập tới mỗi phần tử
của dãy theo vị trí (chỉ số) của phần tử đó. Kiểu dữ liệu
danh sách (List) đượ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 [].
8.5
6.25
Không đạt
Đạt
Không Đạt
6
9.0
1. Khởi tạo kiểu danh sách
1.5
B
Tên danh sách
B[0]
2
B[1]
Python
B[2]
Phần tử của danh
sách
List
B[3]
0
B[4]
Chỉ số
Định nghĩa: List (danh sách) là một dãy các giá trị được viết cách
nhau bởi dấu phẩy và bao hàm trong dấu ngoặc vuông. List được đặt
tên và mỗi phần tử của nó có một chỉ số.
Để khởi tạo List ta sử dụng cú pháp:
Ví dụ: A = [1, 2, 3, 4, 5]
B = [1.5, 2, “Python”, “List”, 0]
1. Khởi tạo kiểu danh sách
Trong đó:
-
Các giá trị có thể có kiểu dữ liệu khác nhau (số nguyên, số thực, kiểu xâu kí tự, kiểu logic
…)
-
Để truy cập đến từng phần tử của danh sách A thông qua chỉ số k, viết: A[k].
-
Chỉ số của danh sách sẽ được đánh bắt đầu từ 0. Ngoài ra danh sách còn hỗ trợ cách đánh
chỉ số âm.
Ví dụ: B = [1.5, 2, “Python”, “List”, True, 0]
Danh sách B
Chỉ số
Chỉ số âm
1.5
0
-6
2
1
-5
“Python”
2
-4
“List”
3
-3
True
4
-2
-1
0
5
1. Khởi tạo kiểu danh sách
Ví dụ:
Một số thao tác với kiểu dữ liệu danh sách
• Khởi tạo một danh sách:
A = [1, 2, 3, 4, 5]
• Truy cập từng phần tử của danh sách:
A[0], A[1], A[2], A[3], A[4]
• Tính độ dài của danh sách:
len(A)
• Gán giá trị cho phần tử
A[1]=10
• Xóa phần tử của danh sách:
del A[2]
• Tạo danh sách rỗng:
B=[ ]
• Ghép 2 danh sách:
[1, 2]+[3, 4, 5, 6]
2. Các phép toán và phương thức của List
a.Các phép toán của List
Các phép toán
Cú pháp
Hàm tính độ dài
len(
danh sách
Tạo 1 danh sách
rỗng
Thay đổi giá trị
của từng phần tử
số] =
bằng lệnh gán
Ví dụ
2. Các phép toán và phương thức của List
a.Các phép toán của List
sách>[chỉ số]
của danh sách
Phép ghép (+) và
nhân (*) danh
sách
danh
Ví dụ
Tính độ dài của danh sách
Thay đổi giá trị từng
phần bằng lệnh gán
Xóa một phần tử
của danh sách
Ví dụ
Lệnh tạo một danh sách
rỗng có độ dài bằng 0
Các phép ghép
hai danh sách
Câu hỏi và bài tập
1.
Cho
danh
sách
A
=
[1,0,"One",9,15,"Two",True,False]. Hãy cho biết giá trị
các phần tử: 1
a) A[0]
c) A[7]
False
'One'
b) A[2]
d) A[len(A)]
Lỗi chỉ số
2. Giả sử A là một danh sách các số, mỗi lệnh
sau thực hiện công việc gì?
a) A = A + [10]
b) del A[0]
c) A = [100] + A
d) A = A[1]*25
a) Bổ sung phần tử 10 vào cuối danh sách A.
b) Xóa phần tử đầu tiên của danh sách A.
c) Bổ sung số 100 vào đầu danh sách A.
d) Thiết lập biến A mới là tích của 25 với giá trị
phần tử thứ hai của danh sách A.
2. Các phép toán và phương thức của List
b.Các phương thức của List
Phương thức
Cú pháp
Ý nghĩa
append
a.append(<đối tượng>)
Bổ sung <đối tượng> vào cuối danh sách như
một phần tử.
clear
a.clear()
copy
b = a.copy()
Trả về một danh sách b có giá trị giống danh
sách a (tạo ra bản sao của a)
extend
a.extend(<đối tượng>)
Mở rộng, bổ sung <đối tượng> vào cuối danh
sách a
index
k = a.index(
Trả về chỉ số index đầu tiên trong danh sách
của giá trị
insert
a.insert(index, <đối tượng>)
Chèn <đối tượng> vào danh sách ở trước vị trí
index.
pop
x = a.pop()
Xóa và lấy ra phần tử cuối cùng của danh sách
a. Đây chính là thao tác lấy phần tử ở đầu ngăn
xếp.
remove
a.remove(
Xóa đi phần tử đầu tiên của a có giá trị =
reverse
a.reverse()
Sắp xếp các phần tử của a theo thứ tự ngược so
với ban đầu
sort
a.sort
Sắp xếp các phần tử của dãy a theo thứ tự tăng
dần của giá trị các phần tử
Xóa dữ liệu, đưa danh sách a thành rỗng
2. Các phép toán và phương thức của List
b.Các phương thức của List
Phương
thức
append
insert
clear
remove
sort
Cú pháp
Ý nghĩa
A.append(x)
Thêm phần tử x vào
cuối danh sách A
A.insert(k, x)
Chèn phần tử x vào
trước vị trí k của danh
sách A
A.clear(x)
Xóa toàn bộ dữ liệu
của danh sách A (thành
rỗng)
A.remove(x)
Xóa phần tử x tìm thấy
đầu tiên từ danh sách A
(nếu không có phần tử
nào như vậy sẽ báo lỗi)
A.sort()
Sắp xếp lại danh sách
A theo thứ tự tăng dần
của giá trị các phần tử
Ví dụ
BÀI TẬP
Cho dãy số [1, 2, 2, 3, 4, 5, 5]. Viết lệnh thực hiện:
a) Chèn số 1 vào ngay sau giá trị 1 của dãy.
A.insert(1,1)
b) Chèn số 3 và số 4 vào danh sách để dãy có số 3 và
số 4 liền nhau hai lần.
A.insert(4,3)
A.insert(5,4)
3. Các thao tác xử lí của List
a. Nhập danh sách các phần tử
Thao tác
Câu lệnh
Khởi tạo danh sách A rỗng A = []
Nhập số phần tử N
N = int(input(“Nhập N = ”))
for i in range(0, N):
temp = int(input(“Nhập phần tử thứ ” + str(i + 1)
Nhập giá trị của N phần tử
+ “: ”)) A = A + [temp]
Ngoài ra ta có thể khởi tạo danh sách số nguyên hay số thực từ dữ liệu nhập
vào:
Ví dụ: Câu lệnh cho phép nhập một dãy số nguyên trên một dòng.
a = [int(i) for i in input().split()]
3. Các thao tác xử lí của List
Ví dụ 1:
3. Các thao tác xử lí của List
b. Duyệt và in danh sách các phần tử
* Duyệt các phần tử của danh sách với toán tử in
Toán tử in dùng để kiểm tra một phần tử có nằm trong danh sách đã cho hay
không. Kết quả trả lại True
hoặc False.
Cú pháp:
Ví dụ 1: Dùng toán tử in để kiểm tra một giá trị có nằm trong danh sách hay
không.
Ví dụ 2: Sử dụng toán tử in để duyệt
và in ra từng phần tử của danh sách.
3. Các thao tác xử lí của List
b. Duyệt và in danh sách các phần tử
* Duyệt các phần tử của danh sách với lệnh for
Ví dụ 3: Duyệt và in ra từng phần tử của danh sách A Chương trình:
3. Các thao tác xử lí của List
b. Duyệt và in danh sách các phần tử
Ví dụ 4: Duyệt và in một phần của danh sách A
3. Các thao tác xử lí của List
c. Xử lý trong List
Thao tác
Câu lệnh
S=0
Tính tổng S các phần tử của for i in range(0, N):
S = S + A[i]
A
In S ra màn hình
print("Tổng các phần tử:", S)
DẶN DÒ VÀ CỦNG CỐ
1. Khởi tạo danh sách List
Bài 11: KIỂU
DANH SÁCH
LIST
2. Các phép toán và phương thức của List
3. Các thao tác xử lí của List
 







Các ý kiến mới nhất