23.10. Trong danh sách các địa danh du lịch có thể có địa danh xuất hiện nhiều lần. Viết chương...
Câu hỏi:
23.10. Trong danh sách các địa danh du lịch có thể có địa danh xuất hiện nhiều lần. Viết chương trình để xoá bớt các trường hợp trùng lặp, sao cho mỗi địa danh trong danh sách chỉ có 1 lần.
Câu trả lời:
Người trả lời: GV. Đỗ Hồng Đức
Đoạn code trên là một cách để viết chương trình xoá bỏ các địa danh trùng lặp trong danh sách.
Tuy nhiên, đoạn code trên vẫn còn một số vấn đề, như việc sử dụng nested loop có thể làm gia tăng độ phức tạp và hiệu suất của chương trình. Một cách khác để giải quyết vấn đề trên là sử dụng một set để lưu trữ các địa danh du lịch mà chúng ta đã gặp phải. Khi duyệt qua danh sách, chúng ta chỉ cần thêm vào set nếu chưa gặp phần tử đó, và bỏ qua nếu đã gặp.
Dưới đây là một cách cải tiến code trên sử dụng set:
```python
dia_danh = ["Hồ Gươm", "Hồ Gươm", "Hồ Gươm", "Hạ Long", "Hồ Gươm", "Mù Cang Chải", "Hồ Gươm", "Mù Cang Chải", "Mù Cang Chải", "Mù Cang Chải"]
unique_dia_danh = set()
result = []
for dd in dia_danh:
if dd not in unique_dia_danh:
unique_dia_danh.add(dd)
result.append(dd)
print(result)
```
Kết quả sẽ là danh sách các địa danh du lịch mà không bị trùng lặp.
Tuy nhiên, đoạn code trên vẫn còn một số vấn đề, như việc sử dụng nested loop có thể làm gia tăng độ phức tạp và hiệu suất của chương trình. Một cách khác để giải quyết vấn đề trên là sử dụng một set để lưu trữ các địa danh du lịch mà chúng ta đã gặp phải. Khi duyệt qua danh sách, chúng ta chỉ cần thêm vào set nếu chưa gặp phần tử đó, và bỏ qua nếu đã gặp.
Dưới đây là một cách cải tiến code trên sử dụng set:
```python
dia_danh = ["Hồ Gươm", "Hồ Gươm", "Hồ Gươm", "Hạ Long", "Hồ Gươm", "Mù Cang Chải", "Hồ Gươm", "Mù Cang Chải", "Mù Cang Chải", "Mù Cang Chải"]
unique_dia_danh = set()
result = []
for dd in dia_danh:
if dd not in unique_dia_danh:
unique_dia_danh.add(dd)
result.append(dd)
print(result)
```
Kết quả sẽ là danh sách các địa danh du lịch mà không bị trùng lặp.
Câu hỏi liên quan:
- 23.1. Giả sử A = [2, 4, '5', 'Hà Nội', 'Việt Nam', 9]. Hãy cho biết kết quả các câu lệnh sau:a) 4...
- 23.2. Cho A là một danh sách gồm các số nguyên. Em hãy viết các câu lệnh xác định và in ra số các...
- 23.3. Cho A là một danh sách gồm các số nguyên, em hãy viết các câu lệnh tạo và in ra danh sách B...
- 23.4. Dãy Fibonacci. Dãy số Fibonacdi được xác định như sau: F0 = 0, F1 = 1,..... Fn= Fn-1 + Fn-2;...
- 23.5. Mã hoá. Để bảo mật nội dung một văn bản khỏi những người không có thẩm quyền tình cờ nhìn...
- 23.6. Giải mã. Giả sử một bản rõ được mã hoá theo phương pháp tịnh tiến kí tự với khoá k < 5...
- 23.7. Cho A là một danh sách gồm các số nguyên. Em hãy viết các câu lệnh xoá tất cả các phần tử nhỏ...
- 23.8. Cho dãy số [1, 2, -5, 5, 8, -8]. Em hãy viết chương trình chèn xâu "Số âm" vào sau phần tử...
- 23.9. Cho danh sách A gồm tên một số địa danh du lịch của Việt Nam, ví dụ "Hồ Gươm", "Mù Cang Chải"...
Bình luận (0)