Элементы массива в python

Добрый день всем! Возникла такая проблема. Есть два массива:

  1. a = [1,2,3,4,5,6,7,8,9,0]
    
  2. b = [3,4,5,6]
    

Цель такая: мне надо, чтобы массив a сузился до размеров массива b и кроме того, чтобы в массиве a были такие же элементы как в массиве b. Можно конечно переписать просто один в другой, но это не подходит, потому что задача гораздо сложнее, массив a меняется, он может быть больше b, меньше b. И каждый раз его надо сверять с массивом b. Если он больше b, то сузить до размеров b, если он меньше b, например если массив a = [4,5], то надо чтобы массив a остался таким же.

Так и проверяйте размер.

if len(a) > len(b): ...

Что вы имеете ввиду? Мне надо, чтобы и элементы совпадали

if len(a) > len(b):
    a = b

точнее если нужна копия, а не ссылка на массив, то

    a = b.copy()

Пересечение?

попробуйте

a = [1,2,3,4,5,6,7,8,9,0]
b = [3,4,5,6]
new_a = list(set(a) & set(b))
print(new_a)

взял это, собственно, тут:
https://younglinux.info/algorithm/intersect