The answer is: The dict returns list - my mistake obviously. I think list.pop(0) is better for sanity than list[0]: Pos= [k,v for ...].pop(0)
On Oct 13, 2017 00:23, "Andrew Z" <form...@gmail.com> wrote: > Hello, > pos = {"CLown":10,"BArbie":20} > I want to return integer (10) for the keyword that starts with "CL" > > > cl_ = [v for k, v in pos.items() if k.startswith('CL')] > cl_pos = cl_[0] > if cl_pos > 0: > > blah.. > > > There are 2 issues with the above: > a. ugly - cl_pos = cl_ [0] . I was thinking something like > > > cl_ = [v for k, v in pos.items() if k.startswith('CL')][0] > > but that is too much for the eyes - in 2 weeks i'll rewrite this into > something i can understand without banging against the desk. > So what can be a better approach here ? > > > b. in "cl_pos > 0:, cl_pos apparently is still a list. Though the run in a > python console has no issues and report cl_pos as int. > > > Appreciate. > > > > > > -- https://mail.python.org/mailman/listinfo/python-list