Python doubt on "extend" "boolean operator"

a = [12,4,56,43,66,2,1.5]
a.append(a[3] and a[5])
print(a)

[12, 4, 56, 43, 66, 2, 1.5, 2]
----------------------------------However------------------------

a = [12,4,56,43,66,2,1.5]
a.append(a[3] or a[5])
print(a)

[12, 4, 56, 43, 66, 2, 1.5, 43 ]

Why and/ or respectively gives these results?