On 04/26/2017 06:33 PM, Phil wrote:
> Another question I'm afraid.
>
> If I want to remove 1 from a set then this is the answer:
>
> set([1,2,3]) - set([1])
>
> I had this method working perfectly until I made a change to cure another bug.
>
> So, I have a set represented in the debugger as {1,2,3} and again I want to
> remove the one. Only this time the one set is represented as {'1'} and, of
> course {'1'} is not in the set {1,2,3}.
>
> Ideally, I would like {'1'} to become {1}. Try as I may, I have not
> discovered how to remove the '' marks. How do I achieve that?
>
A little confused... why not just create it the way you want it? How do
you end up with {'1'} ?
Since sets are unordered, you can't use indexing to change a value, but
you can discard a value and add a new value in the form you want.
but Python isn't terribly friendly to identifying if something is a
string... you could do something grotty like this I suppose:
for f in some_set:
if isinstance(f, str):
some_set.discard(f)
some_set.add(int(f))
(top of head, not really experimented with)
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor