Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python – Cross Join Mỗi Đoạn Thứ K


Khi cần cross join (xen kẽ) mỗi phần tử thứ 'K', định nghĩa phương thức dùng vòng lặp và lấy chỉ mục làm đầu ra.

Ví dụ

Minh họa dưới đây:

def merge_pair_elem(my_list_1, my_list_2, K):
    index_1 = 0
    index_2 = 0
    while index_1 < len(my_list_1):
        for i in range(K):
            yield my_list_1[index_1]
            index_1 += 1
        for i in range(K):
            yield my_list_2[index_2]
            index_2 += 1
my_list_1 = [24, 13, 82, 22, 65, 74]
my_list_2 = [55, 63, 17, 44, 33, 15]
print("Danh sách thứ nhất là:")
print(my_list_1)
print("Danh sách thứ hai là:")
print(my_list_2)
K = 1
print("Giá trị K là:")
print(K)
my_result = [element for element in merge_pair_elem(my_list_1, my_list_2, K)]
print("Kết quả là:")
print(my_result)

Kết quả

Danh sách thứ nhất là: [24, 13, 82, 22, 65, 74]
Danh sách thứ hai là: [55, 63, 17, 44, 33, 15]
Giá trị K là: 1
Kết quả là: [24, 55, 13, 63, 82, 17, 22, 44, 65, 33, 74, 15]

Giải thích

  • Định nghĩa phương thức merge_pair_elem nhận hai danh sách và giá trị 'K', trả về chỉ mục cụ thể.
  • Bên ngoài phương thức, định nghĩa hai danh sách số nguyên và hiển thị ra console.
  • Định nghĩa giá trị 'K' và hiển thị ra console.
  • Dùng list comprehension lặp qua các phần tử và gọi phương thức với tham số cần thiết.
  • Chuyển thành list, gán vào biến.
  • Đây là đầu ra hiển thị trên console.