I create list and set with range. Set unpacks range, list doesn`t
>>> my_list = [range(5)]
>>> my_set = set(range(5))
>>> my_list
[range(0, 5)]
>>> my_set
{0, 1, 2, 3, 4}
>>> my_list = [*range(5)]
>>> my_list
[0, 1, 2, 3, 4]
Advertisement
Answer
The reason why it doesn’t unpack is because my_list is only putting two brackets next to it, if you do that with set it will be the same:
>>> my_set = {range(5)}
{range(0, 5)}
But if you do list(...) it will unpack:
>>> my_set = list(range(5)) [0, 1, 2, 3, 4]