Bài 23: Một Số Lệnh Làm Việc Với 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 23: Một Số Lệnh Làm Việc Với Dữ Liệu Danh Sách


Trang 115

MỤC TIÊU

SAU BÀI NÀY EM SẼ

• Biết cách duyệt danh sách bằng toán từ in.

• Biết và thực hiện được một số phương thức thường dùng với danh sách.

KHỞI ĐỘNG

Trong bài trước chúng ta đã biết cách dùng lệnh append để thêm phần tử vào cuối một danh sách. Vậy Python có lệnh nào dùng để:

- Xoá nhanh một danh sách?

- Chèn thêm phần tử vào đầu hay giữa danh sách?

- Kiểm tra một phần tử có nằm trong một danh sách không?

1. DUYỆT DANH SÁCH VỚI TOÁN TỬ IN

Hoạt động 1: Sử dụng toán từ in với danh sách
Quan sát ví dụ sau để biết cách dùng toàn từ in để duyệt một danh sách.


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.

hinh-anh-bai-23-mot-so-lenh-lam-viec-voi-du-lieu-danh-sach-12282-0

>>> A = [1,2,3,4,5]
>>> 2 in A
Số nguyên 2 nằm trong dãy A, kết quả trả lại True.
True
>>> 10 in A
Số 10 không nằm trong dây A, kết quả trả lại False.
False


Câu lệnh dùng toán tử in đề kiểm tra <giá trị> có trong <danh sách> không, nếu có thì trả lại True nếu không thì trả về False như sau:

hinh-anh-bai-23-mot-so-lenh-lam-viec-voi-du-lieu-danh-sach-12282-1

<giá trị> in <danh sách>


Ví dụ 2. Sử dụng toán tử in để duyệt từng phần tử của danh sách.

hinh-anh-bai-23-mot-so-lenh-lam-viec-voi-du-lieu-danh-sach-12282-2

>>> A = [10,11,12,13,14,15]
>>> for k in A:
Khi thực hiện lệnh này, biến k sẽ lần lượt nhận các giá trị từ dây A.
print(k, end = " ")
10 11 12 13 14 15



• Toán tử in dùng để kiểm tra một phần tử có nằm trong danh sách đã cho không. Kết quả trả lại True (Đúng) hoặc False (Sai).
<giá trị> in <danh sách>
• Có thể duyệt nhanh từng phần tử của danh sách bằng toán tử in và lệnh for mà không cần sử dụng lệnh range( ).

 

Trang 116

Câu hỏi

1. Giả sử A = ["0","1","01","10"). Các biểu thức sau trả về giá trị đúng hay sai?

a) 1 in A

b) "01" in A

2. Hãy giải thích ý nghĩa từ khoá in trong câu lệnh sau:

for i in range(10):

<các lệnh)

2. MỘT SỐ LỆNH LÀM VIỆC VỚI DANH SÁCH

Hoạt động 2: Tìm hiểu một số lệnh làm việc với danh sách
Quan sát ví dụ sau để tìm hiểu một số lệnh làm việc với dữ liệu kiểu danh sách.


Ví dụ 1. Lệnh clear( ) xoá toàn bộ một danh sách.

hinh-anh-bai-23-mot-so-lenh-lam-viec-voi-du-lieu-danh-sach-12282-3

>>> A = [1,2,3,4,5]
>>> A.clear( )
Sau khi thực hiện lệnh clear(), danh sách gốc trở thành rỗng.
>>> A
[ ]


Ví dụ 2. Lệnh remove(value) sẽ xóa phần tử đầu tiên của danh sách có giá trị value. Nếu không có phần từ nào như vậy thì sẽ báo lỗi.

hinh-anh-bai-23-mot-so-lenh-lam-viec-voi-du-lieu-danh-sach-12282-4

>>> A = [1,2,3,4,5]
>>> A.remove(1)
Lệnh remove( ) có chức năng xoá một phần tử có giá trị cho trước.
>>> A
[2, 3, 4, 5]
>>> A.remove(10)
Lệnh báo lỗi nếu giá trị không có trong danh sách.
Traceback (most recent call last):
File "<pyshell#25>", line 1, in <module>
A.remove(10)
ValueError: list.remove(x): x not in list


Ví dụ 3. Lệnh insert có chức năng chèn phần tử vào danh sách tại chỉ số cho trước.

hinh-anh-bai-23-mot-so-lenh-lam-viec-voi-du-lieu-danh-sach-12282-5

>>> A = [1,2,6,10]
>>> A.insert(2,5)
→ Lệnh insert() có hai tham số cần nhập: vị trí cần chén và giá trị được chèn. Lệnh insert(2,5) sẽ chèn số 5 tại chỉ số 2.
>>> A
[1, 2, 5, 6, 10]


Lệnh insert(index,value) sẽ chèn giá trị value vào danh sách tại vị trí index và đầy các phần từ từ vị trí này sang phải.

Chú ý nếu k nằm ngoài phạm vi chỉ số của danh sách thì lệnh vẫn có tác dụng: nếu k < 0 thì chèn vào đầu danh sách, nếu k > len( ) thì chèn vào cuối danh sách.

hinh-anh-bai-23-mot-so-lenh-lam-viec-voi-du-lieu-danh-sach-12282-6

>>> A = [ ]
>>> A.insert(-10,1)
Lệnh này chèn số 1 vào đầu danh sách A.

Trang 117

hinh-anh-bai-23-mot-so-lenh-lam-viec-voi-du-lieu-danh-sach-12282-7

>>> A.insert(100, 2)
Lệnh này chân số 2 vào cuối danh sách A.
>>> A
[1, 2]

 

Một số lệnh làm việc với dữ liệu danh sách
A.append(x) Bổ sung phần tử x vào cuối danh sách A.
A.insert(k,x)  Chèn phần tử x vào vị trí k của danh sách A.
A.clear() Xoá toàn bộ dữ liệu của danh sách A.
A.remove(x) Xoá phần tử x từ danh sách A.


Câu hỏi

1. Khi nào thì lệnh A.append(1) và A.insert(0,1) có tác dụng giống nhau?

2. Danh sách A trước và sau lệnh insert() là [1,4,18,9] và [1,4,10,5,8]. Lệnh đã dùng là gi?

THỰC HÀNH

Các lệnh làm việc với dữ liệu kiểu danh sách

Nhiệm vụ 1. Nhập số n từ bản phim, sau đó nhập danh sách n tên học sinh trong lớp và in ra danh sách học sinh này, mỗi tên học sinh trên một dòng. Yêu cầu danh sách được in ra theo thứ tự ngược lại với thứ tự đã nhập.

Hướng dẫn. Chương trình sẽ yêu cầu nhập số tự nhiên n, sau đó sẽ lần lượt yêu cầu nhập n tên học sinh. Tuy nhiên do yêu cầu in danh sách học sinh theo thứ tự ngược lại so với thứ tự nhập nên cần dùng lệnh insert () để chèn tên học sinh được nhập vào đầu danh sách. Chương trình có thể như sau:

hinh-anh-bai-23-mot-so-lenh-lam-viec-voi-du-lieu-danh-sach-12282-8
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) + ": ")
ds Lop.insert(0, name)
print("Danh sách học sinh đã nhập:")
for name in dsLop:
print(name)

Nhiệm vụ 2. Cho trước dãy số A. Viết chương trình xoá đi các phần tử có giá trị nhỏ hơn 0 từ A.

Hướng dẫn. Duyệt từng phần tử của dãy số A, kiểm tra nếu phần tử này nhỏ hơn 0 thì xoá đi.

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

hinh-anh-bai-23-mot-so-lenh-lam-viec-voi-du-lieu-danh-sach-12282-9

A [0,1,-3,-10,5,9,-20,55]
i = 0
while i < len(A):
if A[i] < 0:

Trang 118

A.remove(A[i])
else:
i = i + 1
print (A)


Nhiệm vụ 3. Cho trước dãy số A. Viết chương trình tìm và chỉ ra vị trí đầu tiên của dãy số A mà ba số hạng liên tiếp có giá trị là 1, 2, 3. Nếu tìm thấy thì thông bảo vị trí tim thấy, nếu không thì thông báo "Không tìm thấy mẫu".

Hướng dẫn. Soạn thảo chương trình sau rồi thực hiện và kiểm tra tính đúng đắn của chương trình.

hinh-anh-bai-23-mot-so-lenh-lam-viec-voi-du-lieu-danh-sach-12282-10

A = [0,4,0,1,2,3,8,9,0,1,2,3,17,-16,0,1,2]
P = [1,2,3]
pkq = -1
i = 0
while i < len(A) - 3 and pkq == -1:
if A[i] == p[0] and A[i+1] == p[1] and A[i+2] == p[2]:
pkq = i
else:
i = i + 1
if pkq >= 0:
print("Tìm thấy mẫu ",P," tại vị trí", pkg)
else:
print("Không tìm thấy mẫu",p).


LUYỆN TẬP

1. 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.

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.

2. Cho trước dãy số A. Viết chương trình thực hiện công việc sau:

– Xoá đi một phần tử ở chính giữa dãy nếu số phần tử của dãy là số lẻ.

– Xoá đi hai phần tử ở chính giữa của dãy nếu số phần tử của dãy là số chẵn.

VẬN DỤNG

1. Viết chương trình nhập n từ bàn phím, tạo và in ra màn hình dãy số A bao gồm vi số tự nhiên chắn đầu tiên.

2. Dãy số Fibonacci được xác định như sau:

hinh-anh-bai-23-mot-so-lenh-lam-viec-voi-du-lieu-danh-sach-12282-11 = 0

hinh-anh-bai-23-mot-so-lenh-lam-viec-voi-du-lieu-danh-sach-12282-12 = 1

hinh-anh-bai-23-mot-so-lenh-lam-viec-voi-du-lieu-danh-sach-12282-13 = hinh-anh-bai-23-mot-so-lenh-lam-viec-voi-du-lieu-danh-sach-12282-14 + hinh-anh-bai-23-mot-so-lenh-lam-viec-voi-du-lieu-danh-sach-12282-15

 (với n ≥ 2)

Viết chương trình nhập n từ bản phim, tạo và in ra màn hinh dãy số A bao gồm n số hạng đầu của dãy Fibonacci.

Tin tức mới


Đánh giá

Bài 23: Một Số Lệnh Làm Việc Với 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

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

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ế 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.