human
Can you provide a Python code to find k number of smallest pairs which consist of one element from the first array and one element from the second array given the following:
Write a function to find k number of smallest pairs which consist of one element from the first array and one element from the second array. This can be solved in Python with the following code:
assistant
#Here is Python code to find k number of smallest pairs which consist of one element from the first array and one element from the second array.
import heapq
def k_smallest_pairs(nums1, nums2, k):
   queue = []
   def push(i, j):
       if i < len(nums1) and j < len(nums2):
           heapq.heappush(queue, [nums1[i] + nums2[j], i, j])
   push(0, 0)
   pairs = []
   while queue and len(pairs) < k:
       _, i, j = heapq.heappop(queue)
       pairs.append([nums1[i], nums2[j]])
       push(i, j + 1)
       if j == 0:
           push(i + 1, 0)
   return pairs