Why does it print individual letters with `+=` and print the full objects with `.append()`?

```
a = ['hello', 'goodbye']
b =[]
for i in a:
  b += i
print(b)
>>['h','e','l','l','o','g','o','o','d','b','y','e']

a = ['hello', 'goodbye']
b =[]
for i in a:
  b.append(i)
  print(b)
>> ['hello','goodbye']

```

I already tried to analyze it print by print but don't get it.