1. Khởi tạo:
Cú pháp:
tên_danh_sách = [v1, v2, ..., vn]
Trong đó:
- vk có thể có kiểu dữ liệu khác nhau
- mỗi phần tử có một chỉ số phân biệt, bắt đầu từ 0.
- truy cập phần tử có chỉ số 3 của danh sách a: a[3]
Ví dụ:
Lệnh | Kết quả |
---|---|
a = [1, 3, 'a', 4.5] print(a) | [1, 3, 'a', 4.5] |
print(a[3]) | 4.5 |
Một số lệnh làm việc với danh sách:
Lệnh | Ghi chú |
---|---|
a = [1, 3, 'a', 4.5] len(a) print(a[len(a)-1]) | 4 (Trả về độ dài của danh sách a) 4.5 (in ra phần tử cuối cùng) |
b = [1, 3, 'a', 4.5] del b[2] hoặc del(b[2]) print(b) | [1, 3, 4.5] (xóa phần tử có chỉ số 2 trong danh sách b) |
c = [1, 3, 'a', 4.5] c[1] = ‘new‘ print(c) | [1, 'new', 'a', 4.5] (thay đổi giá trị của phần tử c[1]) |
d = [1, 3, 'a', 4.5] d = d + [5, 6] print(d) | [1, 3, 'a', 4.5, 5, 6] (Ghép các danh sách với nhau) |
2. Duyệt các phần tử trong danh sách
Ý tưởng: Duyệt lần lượt các phần tử trong danh sách (ví dụ là danh sách a), nếu phần tử thứ i đang xét thỏa yêu cầu thì sẽ xử lí, ứng dụng với danh sách các số:
- Tìm phần tử a[i] thỏa điều kiện nào đó
- Tính tổng giá trị các phần tử thỏa điều kiện
- Đếm số lượng phần tử thỏa điều kiện
- Tìm giá trị max, min của danh sách…
Các thực hiện: cho biến i chạy lần lượt từ 0 đến len(a)-1, nếu phần tử a[i] thỏa điều kiện cần tìm thì sẽ xử lý nó.
ket_qua = giá_trị_khởi_tạo
for i in range(len(a)):
if a[i] thỏa điều kiện:
cập_nhật_kết_quả
print('Kết quả:', ket_qua)
Một số ví dụ về cập nhật kết quả tính toán khi duyệt danh sách
- Tìm vị trí a[i]: có thể trả về vị trí i rồi break
- Tính tổng giá trị: Tong = Tong + a[i]
- Đếm số lượng: Dem = Dem + 1
- Tìm max, min: Gán max = a[i] hoặc lưu vị trí imax = i…
3. Thêm phần tử vào danh sách
a. Phương thức của danh sách:
Phương thức (method) là các lệnh dành riêng cho những kiểu dữ liệu nhất định, ví dụ với kiểu danh sách:
danh_sách.phương_thức
Ví dụ: Phương thức append dùng để thêm phần tử 7 vào cuối danh sách a:
a.append(7)
b. Nhập danh sách từ bàn phím
Ví dụ: Nhập một danh sách gồm n số nguyên từ bàn phím.
Ý tưởng:
- Đầu tiên nhập số lượng phần tử của danh sách
- Lần lượt nhập cho các phần tử bằng vòng lặp, để nhập a[i] ta thực hiện:
- Nhập giá trị từ bàn phím bằng lệnh input, nên in thông báo để tiện cho người dùng nhập liệu.
- Thêm giá trị vừa nhập vào cuối danh sách bằng lệnh append
n = int(input('Nhập số phần tử: '))
a = []
for i in range(n):
x = int(input("Nhập phần tử thứ " + str(i) + ": "))
a.append(x)
Nhập số phần tử: 3Nhập phần tử thứ 0: 1
Nhập phần tử thứ 1: -5
Nhập phần tử thứ 2: 7
c. In danh sách đã nhập
Cách 1: dùng vòng lặp để in lần lượt các phần tử của danh sách, nếu muốn in danh sách trên cùng một dòng ta có thể sử dụng tùy chọn end của lệnh print.
a = [1, -2, 5, 4]
for i in range(len(a)):
print(a[i], end=' ')
print()
Kết quả: 1 -2 5 4
Cách 2: In bình thường thôi.
a = [1, -2, 5, 4]
print(a)
Kết quả: [1, -2, 5, 4]
BÀI TẬP
1. Cải tiến đoạn lệnh nhập phần tử cho danh sách
2. Viết chương trình nhập từ bàn phím một danh sách gồm N số nguyên A1, A2,…, AN. Tính và in ra màn hình:
a. Số lượng phần tử là số chẵn của A.
Dữ liệu vào | Kết quả ra |
---|---|
a = [2, -4, 3, 6] | Số lượng phần tử chẵn là: 3 |
# Nhập mảng
n = int(input('Nhập số phần tử: '))
a = []
for i in range(n):
x = int(input("Nhập phần tử thứ " + str(i) + ": "))
a.append(x)
# Xử lý
count = 0
for i in range(len(a)):
if a[i] % 2 == 0:
count += 1
print("Số lượng phần tử chẵn là: ", count)
b. Tổng giá trị các phần tử chia hết cho 3 nhưng không chia hết cho 6 của A
Dữ liệu vào | Kết quả ra |
---|---|
a = [12, -9, 3, 6] | Tổng cần tìm: -6 (-9 và 3) |
c. Tìm giá trị lớn nhất của A
Dữ liệu vào | Kết quả ra |
---|---|
a = [12, -9, 3, 6] | Số lượng nhất: 12 |
d. Nhập từ bàn phím số nguyên K, cho biết vị trí xuất hiện đầu tiên của K trong a.
Dữ liệu vào | Kết quả ra |
---|---|
a = [12, -9, 3, 6] K = 3 | Vị trí xuất hiện của K trong a là: 2 |
a = [12, -9, 3, 6] K = 16 | Không có phần tử K trong a |
K = int(input("Nhập số nguyên K: "))
for i in range(len(a)):
if a[i] == K:
print("Vị trí xuất hiện của K trong a là: ", i)
break
else:
print("Không có phần tử K trong a")
# có thể thay thế else: bằng các cách khác (bạn thử nghiên cứu xem)
TRẮC NGHIỆM
Views: 85
Hữu ích quá thầy ơi, đăng đề kiểm tra lên cho em tham khảo nữa