Incosistent handling of 'None' when creating dataframe from list
When I create a pandas dataframe from a list 'None' handled differently depending on the size of list

```
test = [(None, None), (1, 2)]
test2 = [(None, None)]
```

`pd.DataFrame(test)`

0 | 1 | 2
-- | -- | --
0 | NaN | NaN
1 | 1.0 | 2.0


`pd.DataFrame(test2)`

0 | 1 | 2
-- | -- | --
0 | None | None

The sudden appearance of different types my break other code (it did so in my case)

I am using pandas version '1.0.5' on Windows Version 10.0.19042
Same on pandas version 1.1.5 on Linux

Here is a runnable colab example
https://github.com/markste-in/colab/blob/master/pandas_bug.ipynb



