BUG: DataFrame fail to construct when data is list and columns is nested list for MI
- [ ] closes #32173 
- [ ] tests added / passed
- [ ] passes `black pandas`
- [ ] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

Hello @charlesdong1991! Thanks for updating this PR. We checked the lines you've touched for [PEP 8](https://www.python.org/dev/peps/pep-0008) issues, and found:





There are currently no PEP 8 issues detected in this Pull Request. Cheers! :beers: 

##### Comment last updated at 2020-04-06 19:38:52 UTC Slight -1 on supporting this - what benefit does this provide over passing a MultiIndex? Hmm OK I see the original issue where this may or may not work depending on what is passed as the values to the DataFrame constructor, so OK...

Is there not any shared code to leverage here? Wonder why this works for DataFrame construction with an ndarray but not with lists emm, yeah, passing MI should be the way to go, but the main reason i think this might be good to support is we do support such assignment when data is a numpy array, as the example presented in issue description. In the way, we could have kinda consistency.  ahh, sorry, did not see your update comment @WillAyd 😅  @jreback many thanks for your follow-up review, I think i addressed all your comments, feel free to provide follow-ups! @WillAyd @jreback I have made some improvements on type annotations. and some feedbacks will be very welcome! thanks! thanks very much for your detailed reviews @jbrockmendel  appreciate a lot!

I have addressed them and feel free to take another look! thanks! emm, seems the build is broken, @jbrockmendel  doesn't seem to relate to this PR though thanks @charlesdong1991 very nice