Bài tập lập trình
Bài tập Set - Cơ bản

Bài tập Set - Cơ bản

  1. Viết hàm có tên create_number_set tạo ra một set chứa các số từ 1 đến 10, dùng hàm print để in set.

  2. Viết hàm có tên remove_duplicates nhận vào một list có thể chứa phần tử trùng lặp và trả về list mới không có phần tử trùng lặp.

def remove_duplicates(my_list):
    # Code của bạn ở đây
    pass
 
# Test
numbers = [1, 2, 3, 2, 1, 4, 3, 5]
result = remove_duplicates(numbers)
print(result)  # [1, 2, 3, 4, 5]

💡 Gợi ý: Chuyển list sang set rồi chuyển lại list

  1. Tạo một set fruits chứa tên của 5 loại trái cây. In ra:
  • Số lượng trái cây trong set
  • Kiểm tra xem "apple" có trong set không
  1. Tạo set colors = {"red", "blue", "green"}. Thêm màu "yellow" vào set và in ra kết quả.

  2. Tạo set numbers = {1, 2, 3, 4, 5}. Xoá số 3 khỏi set bằng phương thức remove() và in ra kết quả.

  3. Tạo set animals = {"dog", "cat", "bird"}. Sử dụng phương thức discard() để xoá "fish" (không có trong set) và in ra kết quả. So sánh với remove().

  4. Viết hàm set_length nhận vào một set và trả về số lượng phần tử.

def set_length(my_set):
    # Code của bạn ở đây
    pass
 
# Test
numbers = {1, 2, 3, 4, 5}
print(set_length(numbers))  # 5
  1. Tạo hai set: set1 = {1, 2, 3, 4}set2 = {3, 4, 5, 6}. Tìm hợp (union) của hai set và in ra.

Ví dụ kết quả:

{1, 2, 3, 4, 5, 6}
  1. Tạo hai set: set1 = {1, 2, 3, 4}set2 = {3, 4, 5, 6}. Tìm giao (intersection) của hai set và in ra.

Ví dụ kết quả:

{3, 4}
  1. Tạo hai set: set1 = {1, 2, 3, 4}set2 = {3, 4, 5, 6}. Tìm hiệu (difference) của set1 và set2, in ra.

Ví dụ kết quả:

{1, 2}
  1. Viết hàm add_multiple nhận vào một set và một list, thêm tất cả phần tử từ list vào set.
def add_multiple(my_set, my_list):
    # Code của bạn ở đây
    pass
 
# Test
numbers = {1, 2, 3}
add_multiple(numbers, [4, 5, 6])
print(numbers)  # {1, 2, 3, 4, 5, 6}

💡 Gợi ý: Dùng phương thức update()

  1. Tạo set numbers = {5, 3, 1, 4, 2}. Chuyển set thành list đã được sắp xếp và in ra.

  2. Viết hàm common_elements nhận vào hai set và trả về set chứa các phần tử chung.

def common_elements(set1, set2):
    # Code của bạn ở đây
    pass
 
# Test
set1 = {1, 2, 3, 4, 5}
set2 = {3, 4, 5, 6, 7}
result = common_elements(set1, set2)
print(result)  # {3, 4, 5}
  1. Tạo một chuỗi text = "hello". Chuyển chuỗi thành set và đếm số ký tự duy nhất.

Ví dụ:

text = "hello"
char_set = set(text)
print(char_set)  # {'h', 'e', 'l', 'o'}
print(len(char_set))  # 4
  1. Viết hàm is_subset kiểm tra xem set1 có phải là tập con của set2 không.
def is_subset(set1, set2):
    # Code của bạn ở đây
    pass
 
# Test
set1 = {1, 2, 3}
set2 = {1, 2, 3, 4, 5}
print(is_subset(set1, set2))  # True
 
set3 = {1, 2, 6}
print(is_subset(set3, set2))  # False
  1. Tạo set students = {"Alice", "Bob", "Charlie"}. Dùng vòng lặp for để in ra tên từng học sinh.

  2. Viết chương trình tạo hai set:

  • math_class = {"Alice", "Bob", "Charlie"}
  • science_class = {"Bob", "Charlie", "David"}

Tìm và in ra:

  • Học sinh học cả hai lớp
  • Học sinh chỉ học Toán
  • Tất cả học sinh
  1. Tạo set numbers = {1, 2, 3, 4, 5}. Sử dụng phương thức pop() để lấy và xoá một phần tử, in ra phần tử đã xoá và set còn lại.

  2. Viết hàm symmetric_diff nhận vào hai set và trả về hiệu đối xứng (phần tử có trong một trong hai set nhưng không có trong cả hai).

def symmetric_diff(set1, set2):
    # Code của bạn ở đây
    pass
 
# Test
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
result = symmetric_diff(set1, set2)
print(result)  # {1, 2, 5, 6}
  1. Viết chương trình kiểm tra xem hai set có rời rạc (không có phần tử chung) hay không.
set1 = {1, 2, 3}
set2 = {4, 5, 6}
 
# Kiểm tra
if set1.isdisjoint(set2):
    print("Hai set rời rạc")
else:
    print("Hai set có phần tử chung")

Lập trình Python - Bumbii Academy