Bài 22: Kiểu Dữ Liệu Danh Sách | Tin Học 10 | Chủ đề 5: Giải quyết vấn đề với sự trợ giúp của máy tính - Lớp 10 - Kết Nối Tri Thức Với Cuộc Sống

Kết nối tri thức Tin học 10 Chủ đề 5: Giải quyết vấn đề với sự trợ giúp của máy tính Bài 22: Kiểu Dữ Liệu Danh Sách


Trang 111

MỤC TIÊU

SAU BÀI NÀY EM SẼ:

• Biết được kiểu dữ liệu danh sách (list), cách khởi tạo và truy cập từng phần tử của danh sách.

• Biết và thực hiện được cách duyệt các phần tử của danh sách bằng lệnh for. Thực hành được một số phương thức đơn giản trên dữ liệu danh sách.

KHỞI ĐỘNG

Em đã được học những kiểu dữ liệu cơ bản của Python như số nguyên, số thực, xâu kí tự, kiểu dữ liệu lôgic. Tuy nhiên, khi em cần lưu một dãy các số hay một danh sách học sinh thì cần kiểu dữ liệu dạng danh sách (còn gọi là dãy hay mảng). Kiểu dữ liệu danh sách được dùng nhiều nhất trong Python là kiểu list. Em hãy tìm một số dữ liệu kiểu danh sách thường gặp trên thực tế.

1. KIỂU DỮ LIỆU DANH SÁCH

Hoạt động 1: Khởi tạo và tìm hiểu dữ liệu kiểu danh sách
Khởi tạo dữ liệu danh sách như thế nào? Cách truy cập, thay đổi giá trị và xoá một phần tử trong danh sách như thế nào?


Ví dụ 1. Quan sát các lệnh sau để tìm hiểu kiểu dữ liệu danh sách.

hinh-anh-bai-22-kieu-du-lieu-danh-sach-12278-0

>>> A  = [1,2,3,4,5]
>>> B = [1.5, 2, "Python", "List", 0]
>>> A[0]
1
>>> B[2]
Có thể truy cập từng phần tử của danh sách thông qua chỉ số. Chỉ số của list đánh số từ 0.
'Python'

 

Kiểu dữ liệu danh sách trong Python được khởi tạo như sau:

hinh-anh-bai-22-kieu-du-lieu-danh-sach-12278-1

<tên list> = [<hinh-anh-bai-22-kieu-du-lieu-danh-sach-12278-2> <hinh-anh-bai-22-kieu-du-lieu-danh-sach-12278-3>,..., <hinh-anh-bai-22-kieu-du-lieu-danh-sach-12278-4>]

Trong đó các giá trị <hinh-anh-bai-22-kieu-du-lieu-danh-sach-12278-5

> có thể có kiểu dữ liệu khác nhau (số nguyên, số thực, xâu kí tự,...). Ta có thể truy cập từng phần tử của danh sách thông qua chỉ số. Chỉ số bắt đầu từ 0.

Việc chỉ số hoá từng phần tử của danh sách cho thấy, có thể dùng danh sách để biểu diễn dữ liệu tương tự như kiểu mảng trong nhiều ngôn ngữ lập trình bậc cao khác. Tuy nhiên, danh sách của Python có một khác biệt quan trọng, đó là nó có thể gồm các phần tử có kiểu dữ liệu khác nhau.

Ví dụ 2. Quan sát các lệnh sau để biết cách thay đổi hoặc xoá phần tử của danh sách.

hinh-anh-bai-22-kieu-du-lieu-danh-sach-12278-6

Trang 112

hinh-anh-bai-22-kieu-du-lieu-danh-sach-12278-7

>> > A = [1,2,3,4,5]
>>> len(A) 
Lệnh len( ) tính độ dài của danh sách.
-
>>> A[1] = "One"
Thay đổi giá trị từng phần tử bằng lệnh gán.
>>> A
[1, 'One', 3, 4, 5]
>>> del A[4]
Lệnh del để xoá một phần tử của danh sách.
>>> A
[1, 'One', 3, 4]



Sau khi đã khởi tạo danh sách, chúng ta có thể thay đổi các giá trị của từng phần tử bằng lệnh gán hoặc xoá phần tử bằng lệnh del.

Ví dụ 3. Quan sát các lệnh sau để biết cách tạo danh sách rỗng (có độ dài 0) và các phép toán ghép danh sách (phép +).

hinh-anh-bai-22-kieu-du-lieu-danh-sach-12278-8

>>> a = []
Lệnh tạo một danh sách rỗng có độ dài bằng 0.
>>> len(a)
0
>>> [1,2] + [3,4,5,6]
→ Các phép ghép hai danh sách.
[1, 2, 3, 4, 5, 6]

 

• List là kiểu dữ liệu danh sách (dãy, mảng) trong Python. Tạo list bằng lệnh gán với các phần tử trong cặp dấu ngoặc [ ]. Các phần tử của danh sách có thể có các kiểu dữ liệu khác nhau. Truy cập hoặc thay đổi giá trị của từng phân tử thông qua chỉ số: <danh sách>[<chỉ số>]
• Chỉ số của danh sách bắt đầu từ 0 đến len( ) − 1, trong đó len( ) là lệnh tính độ dài danh sách.


Câu hỏi

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ử:

a) A[0]

b) A[2]

c) A[7]

d) A[len(A)]

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

2. DUYỆT CÁC PHẦN TỬ CỦA DANH SÁCH

Hoạt động 2: Dùng lệnh for để duyệt danh sách
Quan sát các lệnh sau để biết cách dùng lệnh for duyệt lần lượt các phần tử của một danh sách.


Ví dụ 1. Duyệt và in ra từng phần tử của danh sách.

hinh-anh-bai-22-kieu-du-lieu-danh-sach-12278-9

>>> A = [1,2,3,4,5]

>>> for i in range(len(A)):

Biến i chạy trên vùng chỉ số từ 0 đến len(A) – 1.

print (A[i], end = " ")

1 2 3 4 5

Trang 113

Ví dụ 2. Duyệt và in một phần của danh sách.

hinh-anh-bai-22-kieu-du-lieu-danh-sach-12278-10

>>> A = [3, 2, 1, 5, 6, 10, 7, 12, 18]
>>> for i in range(2,5):
print (A[i], end = " ")
1 5 6


Hai ví dụ trên cho thấy dùng lệnh for kết hợp với lệnh range( ) để duyệt từng phần tử của danh sách.

Có thể duyệt lần lượt các phần tử của danh sách bằng lệnh for kết hợp với vùng giá trị của lệnh range( ).

Câu hỏi

1. Giải thích các lệnh ở mỗi câu sau thực hiện công việc gì?

a) >>> S = 0

>>> for i in range(len(A)):

if A[i] > 0:

S = S + A[i]

>>> print(S)

b) >>> C = 0

>>> for i in range(len(A)):

if A[i] > 0:

C = C + 1

>>> print(C)

2. Cho dãy các số nguyên A, viết chương trình in ra các số chẵn của A.

3. THÊM PHẦN TỬ VÀO DANH SÁCH

Python có những lệnh đặc biệt để thêm phần tử vào một danh sách. Các lệnh này được thiết kế riêng cho kiểu dữ liệu danh sách và còn được gọi là phương thức (method) của danh sách.

Hoạt động 3: Tìm hiểu lệnh thêm phần tử cho danh sách
Quan sát các lệnh sau đây đề biết cách thêm phần tử vào một danh sách bằng append( ).


Ví dụ. Thêm phần tử vào cuối danh sách.

hinh-anh-bai-22-kieu-du-lieu-danh-sach-12278-11

>>> A = [1,2]
>>> A.append(10)
Chú ý cách dùng phương thức append( ): gỗ tên biển danh sách, dấu "", sau đó gỗ append.
>>> A
[1, 2, 10]

 

• Python có một số lệnh dành riêng (phương thức) cho dữ liệu kiểu danh sách. Cú pháp các lệnh đó như sau:
<danh sách>.<phương thức>
• Lệnh thêm phần tử vào cuối danh sách là <danh sách>.append( ).

Câu hỏi

1. Sau khi thêm một phần tử vào danh sách A bằng lệnh append() thì độ dài danh sách A thay đổi như thế nào?

2. Danh sách A sẽ như thế nào sau các lệnh sau?

>>> A = [2,4,10,1,0]

>>> A.append(100)

>>> del A[1]

Trang 114

THỰC HÀNH

Khởi tạo, nhập dữ liệu, thêm phần tử cho danh sách

Nhiệm vụ 1. Nhập số n từ bàn phím, sau đó nhập danh sách n tên các bạn lớp em và in ra danh sách các tên đó, mỗi tên trên một dòng.

Hướng dẫn. Chương trình yêu cầu nhập số tự nhiên n, sau đó nhập từng tên trong danh sách, dùng phương thức append( ) để đưa dẫn vào danh sách.

Chú ý: Vì vùng giá trị của lệnh range(n) bắt đầu từ 0 nên trong thông báo nhập cần viết là str(i+1) để bắt đầu từ 1.

Chương trình có thể như sau:

hinh-anh-bai-22-kieu-du-lieu-danh-sach-12278-12

dsLop = [ ]
n = int(input("Nhập số học sinh trong lớp: "))
for i in range(n):
name = input("Nhập họ tên học sinh thứ " + str(i+1)+": ")
dsLop.append(name)
print("Danh sách học sinh đã nhập: ")
for i in range(len(dsLop)):
print(ds Lop[i])


Nhiệm vụ 2. Nhập một dãy số từ bản phim. Tinh tổng, trung bình của dây và in dãy số trên một hàng ngang.

Hướng dẫn. Tương tự nhiệm vụ 1, chỉ khác là nhập số nguyên nên dùng lệnh int() đề chuyển đổi dữ liệu.

hinh-anh-bai-22-kieu-du-lieu-danh-sach-12278-13

A = [ ]
T = 0 
n = int(input("Nhập số tự nhiên n: "))
for i in range(n): - I 
num = int(input("Nhập số thứ " + str(i+1)+": ")
A.append (num) 
T = T + num
print("Dãy số đã nhập:")
for i in range(n):
print(A[i], end = " ")
print( )
print("Tổng: ",T)
print("Trung bình:",T/n)


LUYỆN TẬP

1. Viết lệnh xoá phần tử cuối cùng của danh sách A bằng lệnh del.

2. Có thể thêm một phần tử vào đầu danh sách được không? Nếu có thì nêu cách thực hiện.

VẬN DỤNG

Cho dãy số A. Viết chương trình tìm giá trị và chỉ số của phần tử lớn nhất của A. Tương tự với bài toán tim phần tử nhỏ nhất.

Tin tức mới


Đánh giá

Bài 22: Kiểu Dữ Liệu Danh Sách | Tin Học 10 | Chủ đề 5: Giải quyết vấn đề với sự trợ giúp của máy tính - Lớp 10 - Kết Nối Tri Thức Với Cuộc Sống

Tổng số sao của bài viết là: 5 trong 1 đánh giá
Xếp hạng: 5 / 5 sao

Bình Luận

Để Lại Bình Luận Của Bạn

Tin Học 10

  1. Chủ đề 1: Máy tính và xã hội tri thức
  2. Chủ đề 2: Mạng máy tính và Internet
  3. Chủ đề 3: Đạo đức, pháp luật và văn hoá trong môi trường số
  4. Chủ đề 4: Ứng dụng tin học
  5. Chủ đề 5: Giải quyết vấn đề với sự trợ giúp của máy tính
  6. Chủ đề 6: Hướng nghiệp với Tin học

Tin tức mới

Môn Học Lớp 10 - Kết Nối Tri Thức Với Cuộc Sống

Sinh học 10

Âm nhạc 10

Ngữ văn 10 - Tập 1

Ngữ văn 10 - Tập 2

Giáo Dục Kinh Tế Và Pháp Luật 10

Giáo dục thể chất cầu lông

Giáo dục thể chất bóng đá

Hoạt Động Trải Nghiệm, Hướng Nghiệp 10

Công Nghệ 10

Địa Lí 10

Toán 10 - Tập 1

Toán 10 - Tập 2

Lịch Sử 10

Mĩ thuật_Thiết kế thời trang 10

Mĩ thuật_Thiết kế mĩ thuật sân khấu, điện ảnh 10

Mĩ thuật_Thiết kế công nghiệp 10

Mĩ thuật_Thiết kế đồ hoạ 10

Mĩ thuật_Thiết kế mĩ thuật đa phương tiện 10

Mĩ thuật_Lí luận và lịch sử mĩ thuật 10

Mĩ thuật _Điêu khắc 10

Mĩ thuật_Đồ hoạ (tranh in) 10

Mĩ thuật_Hội hoạ 10

Mĩ thuật_Kiến trúc 10

Tin Học 10

Giải bài tập Sinh học 10

Giải bài tập Hóa học 10

Giải bài tập Vật lý 10

Bộ Sách Lớp 10

Giáo Dục Việt Nam

Bộ Sách Giáo Khoa của Nhà Xuất Bản Giáo Dục Việt Nam

Tài liệu học tập

Đây là tài liệu tham khảo hỗ trợ trong quá trình học tập

Global Success & Bộ Giáo Dục - Đào Tạo

Bộ sách Global Success & Bộ Giáo Dục - Đào Tạo là sự kết hợp giữa ngôn ngữ Tiếng Anh theo lối giảng dạy truyền thống và cập nhật những phương thức quốc tế

Cánh Diều

Bộ sách giáo khoa của Nhà xuất bản Cánh Diều

Kết Nối Tri Thức Với Cuộc Sống

Sách giáo khoa của nhà xuất bản Kết Nối Tri Thức Với Cuộc Sống

Sách Kết Nối Tri Thức Với Cuộc Sống

Lớp 1

Sách giáo khoa dành cho lớp 1

Lớp 6

Sách giáo khoa dành cho lớp 6

Lớp 5

Sách giáo khoa dành cho lớp 5

Lớp 4

Sách giáo khoa dành cho lớp 4

Lớp 2

Sách giáo khoa dành cho lớp 2

Lớp 3

Sách giáo khoa dành cho lớp 3

Lớp 7

Sách giáo khoa dành cho lớp 7

Lớp 8

Sách giáo khoa dành cho lớp 8

Lớp 9

Sách giáo khoa dành cho lớp 9

Lớp 10

Sách giáo khoa dành cho lớp 10

Lớp 11

Sách giáo khoa dành cho lớp 11

Lớp 12

Sách giáo khoa dành cho lớp 12

Liên Kết Chia Sẻ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.