Nối hai danh sách theo chỉ mục trong Python
Khi làm việc với danh sách trong Python, bạn có thể thường xuyên gặp tình huống cần nối hai danh sách lại với nhau theo chỉ mục. Trong bài viết này, mình sẽ tìm hiểu cách viết một chương trình Python để nối hai danh sách theo chỉ mục và tạo một danh sách mới chứa các phần tử từ cả hai danh sách theo thứ tự chỉ mục đã đề xuất.
Bước 1: Chuẩn bị dữ liệu đầu vào
Để bắt đầu, mình sẽ khai báo hai danh sách cần nối lại. Hãy giả định ta có hai danh sách sau:
list1 = [1, 3, 5, 7, 9] list2 = [2, 4, 6, 8, 10]
Bước 2: Viết chương trình để nối hai danh sách theo chỉ mục
Tiếp theo, mình sẽ viết một hàm Python để nối hai danh sách theo chỉ mục. Hàm này sẽ chấp nhận hai đối số là hai danh sách cần nối và trả về một danh sách mới chứa phần tử từ cả hai danh sách theo thứ tự chỉ mục.
def merge_lists_by_index(list1, list2): merged_list = [] min_len = min(len(list1), len(list2)) for i in range(min_len): merged_list.append(list1[i]) merged_list.append(list2[i]) # Thêm các phần tử còn lại của danh sách dài hơn vào cuối danh sách mới if len(list1) > len(list2): merged_list.extend(list1[min_len:]) else: merged_list.extend(list2[min_len:]) return merged_list
Bước 3: Gọi hàm và kiểm tra kết quả
Giờ chúng ta sẽ gọi hàm merge_lists_by_index
với hai danh sách ban đầu và kiểm tra kết quả:
list1 = [1, 3, 5, 7, 9] list2 = [2, 4, 6, 8, 10] merged_list = merge_lists_by_index(list1, list2) print("Danh sách sau khi nối theo chỉ mục:", merged_list)
Kết quả:
Danh sách sau khi nối theo chỉ mục: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Giải thích:
Danh sách mới đã chứa các phần tử từ cả hai danh sách list1 và list2 theo thứ tự chỉ mục, như yêu cầu trong đề bài. Các phần tử không thể ghép cặp trong hai danh sách vì một danh sách dài hơn sẽ được thêm vào cuối danh sách mới.
Trong bài viết này, mình đã tìm hiểu cách viết một chương trình Python để nối hai danh sách theo chỉ mục và tạo một danh sách mới chứa các phần tử từ cả hai danh sách theo thứ tự chỉ mục. Việc sử dụng một hàm cho phép chúng ta tái sử dụng mã dễ dàng hơn và giải quyết các tình huống tương tự trong tương lai. Hy vọng bạn đã tìm thấy bài viết này hữu ích!
Bài giải
-------------------- ######## --------------------
Câu hỏi thường gặp liên quan:
- Đảo ngược danh sách trong Python
- Nối hai danh sách theo chỉ mục trong Python
- Biến mọi mục của danh sách thành ô vuông của nó trong Python
- Nối hai danh sách theo thứ tự sau trong Python
- Lặp lại đồng thời cả hai danh sách trong Python
- Xóa chuỗi rỗng khỏi danh sách chuỗi trong Python
- Thêm mục mới vào danh sách sau một mục đã chỉ định trong Python
- Mở rộng danh sách lồng nhau bằng cách thêm danh sách con trong Python
- Thay thế mục của danh sách bằng giá trị mới nếu tìm thấy trong Python
- Xóa tất cả các lần xuất hiện của một mục cụ thể khỏi danh sách trong Python