1. Trang chủ
  2. » Luận Văn - Báo Cáo

tiểu luận bài tập nhóm môn cấu trúc dữ liệu và giải thuật đề tài tìm hiểu các kiểu dữ liệu chuẩn trong python

19 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm hiểu các kiểu dữ liệu chuẩn trong Python
Tác giả Hoàng Dương Thảo Hà, Hoàng Thị Phương Đông, Nguyễn Thị Nha, Nguyễn Ngọc Tường Vy, Nguyễn Quỳnh Thy
Người hướng dẫn Hoàng Thị Thanh Hà
Trường học Trường Đại học Kinh tế - Đại học Đà Nẵng, Khoa Thương mại Điện tử
Chuyên ngành Cấu trúc dữ liệu và giải thuật
Thể loại Bài tập nhóm
Năm xuất bản 2024
Thành phố Đà Nẵng
Định dạng
Số trang 19
Dung lượng 753,24 KB

Nội dung

3print"Tích:", product‘key in dict’: Kiểm tra key có tồn tại trong dict hay không‘dict.getkey’: Lấy giá trị của key, nếu key không tồn tại trả về None‘dict.setdefaultkey, default’: Lấy g

Trang 1

KHOA THƯƠNG MẠI ĐIỆN TỬ

  

BÀI TẬP NHÓM MÔN: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT

Đề tài:

Tìm hiểu các kiểu dữ liệu chuẩn trong python

Lớp học phần : MIS3006_48K29.1

Hoàng Dương Thảo Hà Hoàng Thị Phương Đông Nguyễn Thị Nha Nguyễn Ngọc Tường Vy Nguyễn Quỳnh Thy

Thành phố Đà Nẵng, năm 2024

Trang 2

PHẦN 1 KIỂU DỮ LIỆU NONE 1

1.1 Từ khóa 1

1.2 Phép toán 1

1.3 Cách dùng 1

1.4 Ví dụ 1

PHẦN 2 KIỂU DỮ LIỆU LOGIC 1

2.1 Từ khóa 1

2.2 Phép toán 1

2.3 Cách dùng 1

2.4 Ví dụ 1

PHẦN 3 KIỂU DỮ LIỆU SỐ (NUMERIC) 2

3.1 Từ khóa 2

3.2 Phép toán 2

3.3 Cách dùng 2

3.4 Ví dụ 2

PHẦN 4 KIỂU DỮ LIỆU TỪ ĐIỂN 3

4.1 Từ khóa 3

4.2 Cách dùng 3

4.3 Ví dụ 3

PHẦN 5 KIỂU DỮ LIỆU TẬP HỢP (SET, FROZEN SET) 4

5.1 Từ khóa 4

5.2 Các phép toán, cách dùng và ví dụ 4

5.2.1 Các phương thức xử lý Set trong Python 7

5.2.2 Tập hợp (Frozen Set) 9

PHẦN 6 KIỂU DỮ LIỆU CHUỔI (STRING) 10

6.1 Từ khóa 10

6.2 Các phép toán, cách dùng và ví dụ 10

Trang 3

PHẦN 7 KIỂU DỮ LIỆU DANH SÁCH (LIST) 14

7.1 Từ khóa 14

7.2 Các phép toán, cách dùng và ví dụ 14

PHẦN 8 KIỂU DỮ LIỆU TUPLE 15

8.1 Từ khóa 15

8.2 Các phép toán, cách dùng và ví dụ 15

Trang 4

PHẦN 1 KIỂU DỮ LIỆU NONE 1.1 Từ khóa

‘None’

1.2 Phép toán

‘is’, ‘is not’: So sánh xem một biến có tham chiếu đến ‘None’ hay không

1.3 Cách dùng

Được sử dụng để biểu diễn giá trị không tồn tại hoặc không xác định

1.4 Ví dụ

x = None

if x is None:

print("Biến x không có giá trị.")

PHẦN 2 KIỂU DỮ LIỆU LOGIC 2.1 Từ khóa

‘True’, ‘False’

2.2 Phép toán

‘and’, ‘or’, ‘not’: Phép toán logic

2.3 Cách dùng

Được sử dụng để biểu diễn giá trị logic ‘True’ hoặc ‘False’

2.4 Ví dụ

x = True

y = False

if x and not y:

print("x là True và y là False.")

Too long to read on your phone? Save

to read later on your computer

Save to a Studylist

Trang 5

PHẦN 3 KIỂU DỮ LIỆU SỐ (NUMERIC) 3.1 Từ khóa

‘int’: Số nguyên (ví dụ: 1, 2, 3)

‘float’: Số thực (ví dụ: 1.2, 3.14)

‘complex’: Số phức (ví dụ: 1+2j, 3-4j)

3.2 Phép toán

Cộng (+): 1 + 2 = 3

Trừ (-): 3 - 2 = 1

Nhân (*): 2 * 3 = 6

Chia (/): 6 / 2 = 3

Lũy thừa (**): 2 ** 3 = 8

Chia lấy phần nguyên (//): 6 // 2 = 3

Chia lấy phần dư (%): 6 % 2 = 0

3.3 Cách dùng

Biến số được gán bằng giá trị số: x = 1

Sử dụng trong biểu thức toán học: y = x + 2

So sánh số: x > y

3.4 Ví dụ

# Khai báo biến số

x = 10

y = 3.14

# Phép toán

sum = x + y

difference = x - y

product = x * y

quotient = x / y

# In ra kết quả

print("Tổng:", sum)

print("Hiệu:", difference)

Trang 6

3 print("Tích:", product)

print("Thương:", quotient)

PHẦN 4 KIỂU DỮ LIỆU TỪ ĐIỂN 4.1 Từ khóa

‘dict’: Tạo từ điển mới

‘len(dict)’: Lấy số lượng phần tử

‘key in dict’: Kiểm tra key có tồn tại trong dict hay không

‘dict.get(key)’: Lấy giá trị của key, nếu key không tồn tại trả về None

‘dict.setdefault(key, default)’: Lấy giá trị của key, nếu key không tồn tại,thêm key mới với giá trị mặc định

4.2 Cách dùng

Tạo từ điển: my_dict = {"name": "Bard", "age": 2}

Truy cập giá trị: name = my_dict["name"]

Thêm phần tử: my_dict["gender"] = "male"

Xóa phần tử: del my_dict["age"]

4.3 Ví dụ

# Tạo từ điển

person = {"name": "Bard", "age": 2, "city": "Da Nang"}

# Truy cập giá trị

print("Tên:", person["name"])

print("Tuổi:", person["age"])

# Thêm phần tử

person["job"] = "AI Assistant"

# Xóa phần tử

del person["city"]

# In ra kết quả

print(person)

Trang 7

PHẦN 5 KIỂU DỮ LIỆU TẬP HỢP (SET, FROZEN SET)

5.1 Từ khóa

Là một collection không có thứ tự, không có chỉ mục Không cho phép chứa dữ liệu trùng lặp

Set trong Python được khai báo với các dấu ngoặc nhọn {}

Ví dụ:

setFruits = {"apple", "cherry", "banana"}

print(setFruits)

5.2 Các phép toán, cách dùng và ví dụ

 Truy cập các phần tử của Set trong python

Không thể truy cập các phần tử trong một Set bằng cách sử dụng chỉ mục, vì Set không lưu trữ các phần tử theo thứ tự nhập ban đầu Có thể sử dụng vòng lặp for để truy cập các phần tử của một Set

setFruits {"apple", "cherry", "banana"}=

for in x setFruits:

print(x)

-> apple

cherry

banana

 Thêm item vào một set

sử dụng hàm add() để thêm một item vào một set:

setFruits = {"apple", "cherry", "banana"}

setFruits.add("kiwi")

print(setFruits)

-> {'banana', 'kiwi', 'apple', 'cherry'}

sử dụng hàm update() để thêm nhiều item vào một set:

setFruits = {"apple", "cherry", "banana"}

setFruits.update(["orange", "mango", "grapes"])

print(setFruits)

Trang 8

5 -> {'grapes', 'orange', 'mango', 'cherry', 'apple', 'banana'}

 Hàm len() được sử dụng để xem có bao nhiêu item trong một set:

setFruits {"apple", "cherry", "banana"}=

print(len(setFruits))

-> 3

 Để xóa một phần tử trong một set, sử dụng hàm remove() hoặc discard()

setFruits {"apple", "cherry", "banana"}=

setFruits.remove("banana")

print(setFruits)

-> {'cherry', 'apple'}

setFruits {"apple", "cherry", "banana"}=

setFruits.discard("banana")

print(setFruits)

-> {'cherry', 'apple'}

- có thể sử dụng hàm pop(), để xóa một phần tử, nhưng phương thức này sẽ xóa phần tử cuối cùng Nhưng set không có thứ tự, vì vậy sẽ không biết mục nào bị xóa setFruits {"apple", "cherry", "banana"}=

x setFruits.pop()=

print(x)

-> cherry

- Clear xóa tất cả phần tử trong 1 set

setFruits {"apple", "cherry", "banana"}=

setFruits.clear()

print(setFruits)

-> set()

- Lệnh del sẽ xóa một set hoàn toàn:

Trang 9

setFruits {"apple", "cherry", "banana"}=

del setFruits

print(setFruits)

-> NameError: name 'setFruits' is not defined

Các phép toán trong tập hợp:

 Phép hợp: Hợp của hai tập hợp cho kết quả là tất cả các phần tử trong hai tập hợp, chú ý phần tử nào lặp lại sẽ chỉ xuất hiện 1 lần trong tập kết quả Trong Python, để thực hiện phép hợp, sử dụng phương thức union() Chú ý, sử dụng tập hợp nào trước cũng cho kết quả như nhau, art_friends.union(science_friends) cũng cho kết quả như science_friends.union(art_friends)

 Ví dụ

art_friends = {"Rolf", "Anne", "Jen"}

science_friends = {"Jen", "Charlie"}

all_friends = art_friends.union(science_friends)

print(all_friends) # Kết quả {'Rolf', 'Anne', 'Jen', 'Charlie'}

 Phép trừ: Hiệu của một tập A trừ đi một tập B cho kết quả là tất các phần tử thuộc A nhưng không thuộc B Sử dụng phương thức difference() để thực hiện phép trừ hai tập hợp

 Ví dụ

art_friends = {"Rolf", "Anne", "Jen"}

science_friends = {"Jen", "Charlie"}

art_but_not_science = art_friends.difference(science_friends)

science_but_not_art = science_friends.difference(art_friends)

print(art_but_not_science) # Kết quả {'Rolf', 'Anne'}

print(science_but_not_art) # Kết quả {'Charlie'}

 Hiệu đối xứng của hai tập hợp: Hiệu đối xứng của hai tập A và B được kết quả

là tập hợp các phần tử thuộc cả A và B nhưng không đồng thời thuộc cả tập A

và B

art_friends = {"Rolf", "Anne", "Jen"}

science_friends = {"Jen", "Charlie"}

not_in_both_1 = art_friends.symmetric_difference(science_friends)

Trang 10

7 print(not_in_both_1) # Kết quả {'Rolf', 'Charlie', 'Anne'}

not_in_both_2 = science_friends.symmetric_difference(art_friends)

print(not_in_both_2) # Kết quả {'Rolf', 'Anne', 'Charlie'}

 Phép giao: Phép giao hai tập hợp cho kết quả là các phần tử đồng thời thuộc cả hai tập hợp Trong Python sử dụng phương thức intersection() để thực hiện phép giao

art_friends = {"Rolf", "Anne", "Jen"}

science_friends = {"Jen", "Charlie"}

art_and_science = art_friends.intersection(science_friends)

print(art_and_science) # Kết quả là {"Jen"}

5.2.1 Các phương thức xử lý Set trong Python

clear() Xóa tất cả các phần tử của một set

copy() Returns a copy of the set

difference() Trả về một set chứa các phần tử khác nhau của 2

hoặc nhiều set

difference_update() Xóa các phần tử của set này mà tồn tại trong set

khác

discard() Xóa phần tử được chỉ định

intersection() Trả về một set mà các phần tử của nó tồn tại trong

Trang 11

cả 2 set đã cho.

intersection_update() Xóa các phần tử của set này mà không tồn tại trong

set kia

isdisjoint() Trả về true nếu không có phần tử nào trong một set

trùng với phần tử nào trong set thứ 2 Trả về false nếu có bất kỳ phần tử nào trong set ban đầu giống với set thứ 2

issubset() Trả về true nếu tất cả các phần tử trong một set tồn

tại trong set2, ngược lại trả về false

issuperset() Trả về true nếu tất cả các phần tử trong set2 tồn tại

trong một set, ngược lại trả về false

pop() Xóa phần tử cuối cùng của một set

remove() Xóa phần tử được chỉ định

symmetric_difference() Trả về một set mà chứa các phần tử của cả 2 set đã

cho, sao cho các phần tử này tồn tại trong set này nhưng không tồn tại trong set kia

symmetric_difference_update() Cập nhật set ban đầu bằng việc loại bỏ phần tử của

cả 2 set đã cho, sao cho các phần tử này tồn tại trong set này nhưng không tồn tại trong set kia

union() Trả về môt set mà được nối từ 2 set với nhau

update() Nối set này với set khác

Trang 12

5.2.2 Tập hợp (Frozen Set)

Python cung cấp một hàm tên là frozenset(), kết quả trả về là một tập hợp (Set) không thể thay đổi Khi đó, nếu thực hiện các phương thức add(), remove(), update()… sẽ báo lỗi

“Đóng băng” tập hợp sẽ làm cho tập hợp đó giống như cấu trúc Tuple trong Python friends = {"Rolf", "Anne", "Jen"}

frozen_friends = frozenset(friends)

frozen_friends.add({"Jen", "Charlie"})

print(frozen_friends) # Kết quả lỗi: AttributeError: 'frozenset' object has no attribute 'add'

Đóng băng một tập hợp rất hữu ích trong trường hợp muốn tập hợp đó không thể thay đổi Ví dụ khi dùng một tập hợp làm key cho một từ điển (Dictionary), sẽ được giới thiệu trong phần tiếp theo

A = {1, 2, 3}

B = {'a', 'b', 'c'}

C = {x: 'foo', y: 'bar'} # Kết quả lỗi: TypeError: unhashable type: 'set'

Tuy nhiên nếu đóng băng các tập hợp này, sẽ không có lỗi nào xảy ra

A = frozenset({1, 2, 3})

B = frozenset({'a', 'b', 'c'})

C = {x: 'foo', y: 'bar'} # Không có lỗi

PHẦN 6 KIỂU DỮ LIỆU CHUỔI (STRING)

6.1 Từ khóa

Là một trong các kiểu phổ biến nhất trong Python Chuỗi ký tự trong python được bao quanh bởi dấu ngoặc kép đơn hoặc dấu ngoặc kép Python coi các lệnh trích dẫn đơn

và kép là như nhau Ví dụ: 'Hello' tương đương với "Hello"

Hiển thị một chuỗi trong Python bằng print ()

1

2

print("Hello")

print('Hello')

Trang 13

6.2 Các phép toán, cách dùng và ví dụ

Toán

tử

Mô tả & cách thức hoạt động Ví dụ

+ Nối (concatenate) 2 string với nhau để tạo thành một

string mới

"Hello" +"MCI" ==>

"Hello MCI"

* Tạo một string mới bằng cách nối (concatenate) nhiều lần

bản sao chép của một string

"MCI"*2 ==>

"MCIMCI" [] Truy cập và trả về ký tự tại vị trí cho bởi chỉ số x = "Hello"

x[1] ==> "e" [ : ] Trả về một chuỗi con bao gồm các ký tự trong phạm vi

(range)

x = "Hello" x[1:4] ==>

"ell" x[1: ] ==>

"ello"

in Trả về True nếu ký tự tồn tại trong string đã cho x = "Hello"

'H' in x ==> True not

in

Trả về True nếu ký tự không tồn tại trong string đã cho x = "Hello"

'M' not in x

==> True r/R Chuỗi thô (Raw String) - Ngăn chặn ý nghĩa thực tế của

các ký tự thoát (Escape character) Cú pháp cho chuỗi thô

giống chuỗi thông thường ngoại trừ "toán tử chuỗi thô",

chữ "r" đứng trước dấu ngoặc kép "R" có thể là chữ

thường (r) hoặc chữ hoa (R) và phải được đặt ngay trước

dấu trích dẫn đầu tiên

print (r'\n\t')

==> \n\t print (R'\n\t')

==> \n\t

Trang 14

Các hàm cơ bản xử lý String của python

 Hàm strip() loại bỏ bất kỳ khoảng trắng từ đầu hoặc cuối cùng

a = " Hello World! "

print(a.strip()) # returns "Hello World!"

-> Hello World!

- Hàm lower() trả về chuỗi chữ thường, ví dụ:

a = "Hello World!"

print(a.lower()) # returns "hello world!"

-> hello world!

- Hàm upper() trả về chuỗi chữ hoa, ví dụ:

a = "Hello World!"

print(a.upper()) # returns "HELLO WORLD!"

-> HELLO WORLD!

- Hàm replace() thay thế một chuỗi bằng một chuỗi khác, ví dụ:

a = "Hello World!"

print(a.replace("l", "t"))

-> Hetto Wortd!

- Hàm split() tách chuỗi thành các chuỗi con, ví dụ:

a = "Hello, World!"

print(a.split(","))

-> ['Hello', ' World!']

String Method - Phương thức chuỗi

Trang 15

capitalize() Viết hoa ký tự đầu tiên của chuỗi

casefold() Chuyển chuỗi thành chữ thường

center() Trả về một chuỗi mới, trong đó chuỗi ban đầu được cho vào trung

tâm và hai bên đó là các fillchar sao cho tổng số ký tự của chuỗi mới là width

count() Đếm xem chuỗi string này xuất hiện bao nhiêu lần trong chuỗi

string hoặc chuỗi con của nó nếu bạn cung cấp các chỉ mục start

và end

encode() Trả về một phiên bản đã được mã hóa của chuỗi

endswith() Trả về kết quả là True nếu chuỗi kết thúc với một giá trị cụ thể

find() Tìm kiếm chuỗi với giá trị cụ thể và trả về vị trí mà nó được tìm

thấy

format() Định dạng giá trị cụ thể của chuỗi

format_map(

)

Định dạng giá trị cụ thể của chuỗi

index() Tìm kiếm chuỗi với giá trị cụ thể và trả về vị trí mà nó được tìm

thấy

isalnum() Trả về kết quả là True nếu tất cả ký tự trong chuỗi là chữ và số

Trang 16

isalpha() Trả về kết quả là True nếu tất cả ký tự trong chuỗi là chữ cái

isdecima() Trả về kết quả là True nếu tất cả ký tự trong chuỗi là chữ số thập

phân

isdigit() Trả về kết quả là True nếu tất cả ký tự trong chuỗi là chữ số

isidentifier() Trả về kết quả là True nếu String là số nhận dạng

islower() Trả về kết quả là True nếu tất cả ký tự trong chuỗi là chữ thường

isnumeric() Trả về kết quả là True nếu tất cả ký tự trong chuỗi là số

PHẦN 7 KIỂU DỮ LIỆU DANH SÁCH (LIST)

7.1 Từ khóa

List là một kiểu dữ liệu trong nhiều ngôn ngữ lập trình, cho phép lưu trữ một tập hợp các giá trị có thứ tự

7.2 Các phép toán, cách dùng và ví dụ

Khởi tạo List: Trong Python, có thể khởi tạo một List bằng cách đặt các giá trị trong dấu ngoặc vuông [], cách nhau bởi dấu phẩy

Ví dụ: my_list = [1, 2, 3, 4, 5]

Truy cập phần tử trong List: Sử dụng chỉ số để truy cập phần tử trong List Chú ý rằng chỉ số bắt đầu từ 0

Ví dụ: first_element = my_list[0]

Trang 17

Cắt List (Slicing): Lấy một phần của List bằng cách sử dụng slicing.

Ví dụ: sliced_list = my_list[1:4] # Lấy chỉ số từ 1 đến 3

Thay đổi giá trị phần tử: có thể thay đổi giá trị của một phần tử bằng cách sử dụng chỉ số

Ví dụ: my_list[2] = 10

Thêm phần tử vào List: Sử dụng phương thức append() để thêm một phần tử vào cuối List

Ví dụ: my_list.append(6)

Xoá phần tử khỏi List: Sử dụng phương thức remove() hoặc del để xóa phần tử khỏi List

Ví dụ: my_list.remove(4)

Kiểm tra sự có mặt của phần tử: Sử dụng toán tử in để kiểm tra xem một phần tử có trong List hay không

Ví dụ: if 3 in my_list:

print("3 có trong List.")

Độ dài của List: Sử dụng hàm len() để lấy độ dài của List

Ví dụ: length = len(my_list)

PHẦN 8 KIỂU DỮ LIỆU TUPLE 8.1 Từ khóa

Tuple là một kiểu dữ liệu trong nhiều ngôn ngữ lập trình, giống như List, nhưng có sự khác biệt chính là Tuple là không thay đổi (immutable), nghĩa là sau khi tạo ra một Tuple, bạn không thể thay đổi nó bằng cách thêm, sửa, hoặc xóa các phần tử

8.2 Các phép toán, cách dùng và ví dụ

Khởi taọ Tuple: Trong Python, có thể khởi tạo một Tuple bằng cách đặt các giá trị trong dấu ngoặc đơn (), cách nhau bởi dấu phẩy

Ví dụ: my_tuple = (1, 2, 3, 4, 5)

Truy cập phần tử trong Tuple: Sử dụng chỉ số để truy cập phần tử trong Tuple Chú ý rằng chỉ số bắt đầu từ 0

Ví dụ: first_element = my_tuple[0]

Ngày đăng: 02/06/2024, 14:24

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w