The first way works for a list or a string;
The second way only works for a list, because slice assignment isn't allowed for strings.
Other than that i think the only difference is speed:
If your list of lists comes from a nested list comprehension, the problem can be solved more simply/directly by fixing the comprehension;
Please see how can i get a flat result from a list.
I swapped the order of the sub-questions to make this more useful for the most common case that most beginners are searching for.
Also, the question/top answer have 2 million views but very.
The first, [:], is creating a slice (normally often used for getting just part of a list), which happens to contain the entire list, and thus is effectively a copy of the list.
The second, list(), is using the.
I have a piece of code here that is supposed to return the least common element in a list of elements, ordered by commonality:
From collections import counter c =.
However, it looks like tolist() is optimized for columns of python scalars because i found that calling list() on a column was 10 times slower than calling tolist().
For the record, i was trying to.