Skip to content Skip to sidebar Skip to footer

What Is The Difference Between A List Of A Single Iterable `list(x)` Vs `[x]`?

Python seems to differentiate between [x] and list(x) when making a list object, where x is an iterable. Why this difference? >>> a = [dict(a=1)] >>> a [{'a': 1}]

Solution 1:

[x] is a list containing the elementx.

list(x) takes x (which must already be iterable!) and turns it into a list.

>>> [1]  # list literal
[1]
>>> ['abc']  # list containing 'abc'
['abc']
>>> list(1)
# TypeError>>> list((1,))  # list constructor
[1]
>>> list('abc')  # strings are iterables
['a', 'b', 'c']  # turns string into list!

The list constructor list(...) - like all of python's built-in collection types (set, list, tuple, collections.deque, etc.) - can take a single iterable argument and convert it.

Post a Comment for "What Is The Difference Between A List Of A Single Iterable `list(x)` Vs `[x]`?"