Creating a list with holes

Dan Stromberg drsalists at gmail.com
Fri Jan 3 22:32:13 EST 2014


On Fri, Jan 3, 2014 at 7:00 PM, Chris Angelico <rosuav at gmail.com> wrote:
> On Sat, Jan 4, 2014 at 1:58 PM, Dan Stromberg <drsalists at gmail.com> wrote:
>> On Fri, Jan 3, 2014 at 7:37 AM, Chris Angelico <rosuav at gmail.com> wrote:
>>> Depending on what exactly you need, it's probably worth just using a
>>> dict. In what ways do you need it to function as a list? You can
>>> always iterate over sorted(some_dict.keys()) if you need to run
>>> through them in order.
>>
>> FWIW, sorting inside a loop is rarely a good idea, unless your lists
>> are pretty small.
>
> What do you mean by "sorting inside a loop"? I was thinking of this:
>
> for key in sorted(some_dict.keys()):
>     # blah blah
>
> which will sort once and then iterate over it.

That is fine, sorting once at then end of a script is a good use of
sorted(some_dict.keys()).  However, it probably should be pointed out
that this, while similar, is not so good:

for thing in range(n):
   for key in sorted(some_dict.keys()):
      do_something(thing, key)

...because it's sorting n times.



More information about the Python-list mailing list