Tải bản đầy đủ (.pptx) (36 trang)

Slide Các cấu trúc dữ liệu trong python

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (262.95 KB, 36 trang )

Scientific
Programming
Language

NGƠN NGỮ LẬP TRÌNH LẬP TRÌNH P TRÌNH
KHOA HỌCC

Nguyễn Mạnh Cường


Scientific
Programming
Language

BÀI 3
CÁC CẤU TRÚC DỮ LIỆU
(DATA STRUCTURES)

2


Scientific
Programming
Language

BÀI 3: DATA STRUCTURES








Python
Python
Python
Python
Python

list (danh sách)
tuple (bộ)
set (tập hợp)
dictionary (từ điển)
string (chuỗi ký tự)
3


Scientific
Programming
Language

Python list
Bài 3: Data structures

4


Scientific
Programming
Language


Python list

BÀI 3
---------------

• List (danh sách)

List

o Cấu trúc để lưu trữ một dãy các phần tử

Tuple

o Khởi tạo một list:

Set

a = [1, 3, 2, 4, 5]
b = [“Hoa”, “Hải”, “Hồng”, “Hoàng”]

k = [2*i for i in range (1, 10)] 

Dictionary
String

[2, 4, 6, 8, 10, 12, 14, 16, 18]

o Các phần tử trong một list không nhất thiết phải cùng kiểu:
c = [1, 2, “Hoa”, 3.1, “Hồng”, 5]
d=[]

o Các phần tử lại có thể là một list (nested list):

e = [ 1, 2, [4, 5, 6], 9, 8]
Bài 3: Data structures

5


Scientific
Programming
Language

Python list

BÀI 3
---------------

• List index (chỉ số)

List

o Chỉ số được tính từ 0

Tuple

o Chỉ số của nested list:
c = [1, 2, [3, 4, 5], 6]

Set


c[1] = 2,
o Chỉ số âm:

Dictionary

c[2] = [3, 4, 5],

c[2][1] = 4

c = [1, 2, [3, 4, 5], 6]
c[-1] = 6,

c[-2] = [3, 4, 5],

c[-2][2] = c[-2][-1] = 5

String

Bài 3: Data structures

6


Scientific
Programming
Language

Python list

BÀI 3

---------------

 BÀI TẬP 3.1

List

o Khởi tạo một list a với bộ 5 giá trị bất kỳ, in ra màn hình

Tuple
Set
Dictionary

o Khởi tạo và in một list b với 100 số nguyên chẵn đầu tiên [2, 4, 6, ...]
o Sử dụng list để nhập vào từ bàn phím một mảng c gồm n phần
tử nguyên. Tính tổng các phần tử trong mảng.
o Sử dụng list để nhập vào từ bàn phím một mảng hai chiều
d(n x m) các số thực. Hiển thị mảng d lên màn hình.

String

Bài 3: Data structures

7


Scientific
Programming
Language

Python list


BÀI 3
---------------

• List slicing (chia cắt list)

List

o List slicing: Truy cập vào các phần tử liên tiếp trong list

Tuple
Set
Dictionary
String

c = [1, 2, [3, 4, 5], 6]
c[1 : 3] = c[1], c[2]
c[1 : ] = c[1], c[2], c[3]
c[:]
=c

 List slicing: khơng tính
phần tử ở đầu mút bên
phải

Bài 3: Data structures

8



Scientific
Programming
Language

Python list

BÀI 3
---------------

• Thao tác cơ bản trên list

List

BỔ SUNG

Tuple
Set
Dictionary
String

o Thêm 1 phần tử vào cuối:

append()

o Chèn 1 phần tử :

insert()

o Thêm nhiều phần tử:


extend()

XĨA
o Xóa phần tử:

del

o Xóa phần tử theo giá trị:

remove()

o Xóa phần tử theo chỉ số:

pop ()

Bài 3: Data structures

9


Scientific
Programming
Language

Python list

BÀI 3
---------------

• Thao tác cơ bản trên list


List

TÌM KIẾM

Tuple

o Lấy chỉ số đầu tiên theo giá trị:

index()

Set

o Đếm số lần xuất hiện của 1 giá trị:

count()

SẮP XẾP

Dictionary
String

o Sắp xếp list:

sort()

o Đảo ngược list:

reverse()


o Sao chép một list:
o Ghép hai lits:
o Nhân bản list:

copy()
+
*
Bài 3: Data structures

10


Scientific
Programming
Language

Python list

BÀI 3
---------------

 BÀI TẬP 3.2

List

o Nhập vào từ bàn phím một mảng a gồm n số nguyên. Sắp a tăng
dần và in ra màn hình

Tuple
Set

Dictionary
String

o Tìm max, tìm min, tìm vị trí của phần tử chẵn đầu tiên trong a,
cho biết trong mảng có chứa số 3 hay khơng.
o Chèn một phần tử vào vị trí k; xóa tồn bộ các phần tử chẵn
trong mảng.
o Nhập thêm mảng b gồm m phần tử nguyên từ bàn phím. Nhân
bản b lên gấp đơi, đảo ngược b sau đó ghép a với b để thu
được mảng c.
Bài 3: Data structures

11


Scientific
Programming
Language

Python tuple

Bài 3: Data structures

12


Scientific
Programming
Language


Python tuple

BÀI 3
---------------

• Python tuple

List

o Gần tương tự như list

Tuple

o Không giống như list, bộ giá trị của tuple là bất biến.

Set

o Tuy nhiên, nếu bản thân phần tử là một kiểu dữ liệu có thể thay đổi (vd
list), thì các giá trị bên trong phần tử đó có thể được thay đổi.

Dictionary
String

o Khởi tạo tuple:

a = (1, 3, 2, 4, 5)
b = (“Hoa”, [1, 2, 3], “Hồng”, (2, 2))

Bài 3: Data structures


13


Scientific
Programming
Language

BÀI 3
--------------List
Tuple
Set
Dictionary
String

Python tuple
• Python list vs. tuple
o tuple thường dùng để lưu tập giá trị mà các phần tử khác
kiểu; list thường dùng để lưu tập giá trị cùng kiểu.
o Các phần tử của tuple là bất biến; các phần tử của list là có
thể thay đổi.
o Duyệt trên tuple nhanh hơn một chút so với duyệt list.
o Nếu dữ liệu là một tập các phần tử không thay đổi, sử dụng
tuple để lưu trữ.

Bài 3: Data structures

14


Scientific

Programming
Language

BÀI 3
--------------List
Tuple
Set
Dictionary
String

Python tuple
 BÀI TẬP 3.3
o Khởi tạo một tuple c gồm 10 số nguyên bất kỳ. In c ra màn hình
và cho biết số phần tử của c.
o Cho biết c có bao nhiêu phần tử chẵn; Nhập vào một giá trị x từ
bàn phím và cho biết c có chứa x hay khơng.
o Khởi tạo một tuple chứa các số thực là tập các trọng lượng của
các bình gas. Cho biết trọng lượng lớn nhất, nhỏ nhất, số bình
gas có trọng lượng 12 (kg) có trong tuple.

Bài 3: Data structures

15


Scientific
Programming
Language

Python set

Bài 3: Data structures

16


Scientific
Programming
Language

BÀI 3
--------------List

Python set
• Python set: tập hợp khơng có chỉ số

Tuple

o set là một tập các mục khơng có chỉ số, mọi phần tử tập hợp là duy
nhất (đơn trị) và bất biến.

Set

o Các phần tử trong một set có thể khác kiểu.

Dictionary
String

o Ta có thể thêm phần tử vào hoặc xóa phần tử từ một set.
o Thường được sử dụng để thực hiện các phép toán tập hợp như:
Hợp, Giao, Trừ, ...


Bài 3: Data structures

17


Scientific
Programming
Language

Python set

BÀI 3
---------------

• Các thao tác cơ bản trên set

List

o Khởi tạo set

Tuple

o Thêm một phần tử:

add()

Set

o Thêm nhiều phần tử:


update()

Dictionary
String

o Xóa một phần tử đang tồn tại:
o Xóa một phần tử nếu tồn tại:
o Xóa tất cả:

remove()
discard()

clear()

o Lấy ra một phần tử ngẫu nhiên:

pop()
Bài 3: Data structures

18


Scientific
Programming
Language

BÀI 3
--------------List
Tuple

Set
Dictionary

Python set
• Các thao tác khơng thể thực hiện trên set
o Khởi tạo một set rỗng:

ví dụ a = { }

o Khởi tạo phần tử trùng nhau:

ví dụ a = {1, 2, 1, 3, 1}

o Khởi tạo 1 phần tử của set là một tupe:

ví dụ a = {1, [2, 3], 4}

o Truy cập vào phần tử thông qua chỉ số:

ví dụ a[1], a[2],...

String

Bài 3: Data structures

19


Scientific
Programming

Language

Python set

BÀI 3
---------------

• Các phép tốn tập hợp trên set

List

o Phép hợp:

Tuple

o Phép giao: & hoặc intersection()

Set

o Phép trừ:

Dictionary
String

| hoặc union()

vd: a = b | c,

a = b.union(c)


vd: a = b & c,

a = b.intersction(c)

- hoặc difference() vd: a = b - c,

a = b.difference(c)

• Các phép kiểm tra trên set
o Kiểm tra xem hai tập hợp có rời nhau:

isdisjoint()

o Kiểm tra xem một tập có là tập con của tập khác:

issubset()

o Kiểm tra xem một tập có là tập mẹ của tập khác:

issuperset()

Bài 3: Data structures

20



×