No, they are not the same.
You can reverse the first one, then you have
data = list(data) if data is not None else []
vs.
data = list(data) if data else []
Or you can reverse the 2nd one, then you have 
data = [] if not data else list(data)
vs.
data = [] if data is None else list(data)
So your question boils down to
- whether if data is not Noneis the same asif dataor alternatively
- whether if data is Noneis the same asif not data.
These are semantically different:
- if data is Noneis only true if data is- None,
- if not datais true if data has any "falsey" value: e. g.- None,- 0,- "",- False,- (),- {},- []etc.