giáo trình LẬP TRÌNH PYTHON

42 29 0
giáo trình LẬP TRÌNH PYTHON

Đ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

TRƯỜNG ĐẠI HỌC THỦY LỢI Khoa Công nghệ thông tin Bộ mơn Tin học KTTT LẬP TRÌNH PYTHON Giảng viên: TS.GVC Bùi Thị Thanh Xuân Email: xuanbtt@tlu.edu.vn Điện thoại: 0902001581 Chương Kiểu tập hợp kiểu tập tĩnh Nội dung Set (tập hợp) ➢Khởi tạo ➢Phép toán ➢Duyệt phần tử ➢Các phương thức hỗ trợ Frozenset (tập hợp tĩnh) Bài tập Giới thiệu ❖Tập hợp (set) kiểu liệu đặc sắc Python, lấy cảm hứng từ khái niệm tập hợp tốn học ➢Các đối tượng đơi khác nhau: đưa đối tượng giống vào tập hợp, Python giữ lại ➢Khơng có tính thứ tự: truy cập đến phần tử thông qua hệ thống mục ➢Không phải liệu đưa vào tập hợp: liệu bắt buộc phải dạng bất biến (immutable) ➢Thêm: Python sử dụng cấu trúc liệu bảng băm (hashtable) cho tập hợp, lý liệu phải bất biến để tránh việc liệu bị thay đổi cách bất lường Khởi tạo ❖Tương tự danh sách hàng, khởi tạo tập hợp đơn giản cách liệt kê phần tử con: ➢Đặt cặp ngoặc nhọn {} ➢Ngăn cách phẩy ➢Chú ý: cách không dùng để khởi tạo tập rỗng (hãy thử xem) >>> basket = {'apple', 'orange', 'apple', 'pear'} >>> print(basket) {'orange', 'pear', 'apple'} # xóa phần tử trùng ❖Tạo tập hợp hàm tạo phép toán tập hợp s1 = set([1, 2, 3, 4]) # {1, 2, 3, 4} – copy từ list s2 = set((1, 1, 1)) # {1} – copy từ tuple, bỏ lặp s3 = s1 – s2 # {2, 3, 4} – hiệu hai tập s4 = set(range(1, 100)) # {1, 2, 3,…, 98, 99} s5 = set() # {} – tập rỗng Khởi tạo ❖Tập hợp khởi suy diễn tập hợp (set comprehension), cú pháp tương tự danh sách ❖Dạng thông dụng nhất: lặp ➢{ for in } ➢{ x for x in 'abracadabra' } ❖Dạng phức tạp hơn: lặp điều kiện ➢{ for in if } ➢{ x for x in 'abracadabra' if x not in 'abc' } ❖Dạng phức tạp nữa: lặp điều kiện rẽ nhánh ➢Trường hợp phải kết hợp lặp phép tốn if (khơng dùng rẽ nhánh if được) ➢{ if else for in } ➢{ '?' if x in 'abc' else x for x in 'abracadabra' } Khởi tạo ❖Bộ suy diễn tập hợp đơi phức tạp ❖Ví dụ: tạo tập hợp chứa hoán vị chuỗi ‘abc’ s={ x+y+z for x in 'abc' for y in 'abc' for z in 'abc' if x != y != z != x } ❖Set chứa đối tượng mutable (có thể bị thay đổi), set lại thay đổi a = set(([1,2], [2,3])) # lỗi a = set(((1,2), (2,3))) # {(1, 2), (2, 3)} a.add("abc") # {(1, 2), "abc", (2, 3)} Các phép tốn set STT Tên Kí hiệu Giải thích Lấy phần chung hai tập Lấy phần gộp hai tập Lấy phần riêng tập Lấy phần khác (loại bỏ phần chung) Trả True phần tử nằm tập hợp Trả True phần tử không thuộc tập hợp Phép giao & Phép hợp | Phép hiệu - Phép loại ^ Kiểm tra tồn Kiểm tra không thuộc in not in Minh họa Các phép toán set STT Tên Kí hiệu Giải thích Trả True hai tập giống Trả True có phần tử thuộc tập mà không thuộc tập Trả True phần tử tập thứ hai có tập thứ có phần tử thuộc tập thứ không xuất tập thứ hai Trả True tập thứ lớn tập thứ hai Trả True phần tử thuộc tập thứ có tập thứ hai có phần tử thuộc tập thứ hai không xuất tập thứ Trả True tập thứ nhỏ tập thứ hai So sánh “bằng” So sánh “khác” == != So sánh “lớn hơn” > 10 So sánh “lớn bằng” So sánh “nhỏ hơn” >= So sánh “nhỏ bằng” 5) In số nhị phân số nguyên hệ số 10 tương ứng Tạo tập hợp chứa tất số nguyên tố khoảng (1,n) với n >1000000 In số dòng, số cách dấu cách “ ” Tạo tập hợp chứa tất số hoàn hảo nhỏ n với n >100000 In số dòng, số cách dấu “; ” Tạo tập hợp chứa tất n số Fibonacci với n >1000000 In số dòng, số cách dấu “ ” Nhập vào danh sách n sinh viên (Họ tên, Điểm Toán, Điểm Tin, Điểm Tiếng Anh) In danh sách thơng tin SV dịng, có chuẩn hóa họ tên, trường cách dấu Tab Nhập dãy số nguyên dòng, số cách dấu cách - Hiển thị dãy tăng dần - Thống kê số tần số xuất số dãy - Nhập vào số nguyên x Tìm x dãy Nếu có đưa số lần xuất hien x, khơng chèn x vào đầu dãy

Ngày đăng: 14/09/2022, 23:12

Tài liệu cùng người dùng

Tài liệu liên quan