This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Set Intersection returns unexpected results
Type: behavior Stage:
Components: Interpreter Core Versions: Python 2.7
process
Status: closed Resolution: not a bug
Dependencies: Superseder:
Assigned To: Nosy List: Afif.Elghraoui, mark.dickinson
Priority: normal Keywords:

Created on 2013-04-30 05:04 by Afif.Elghraoui, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
lists.dat Afif.Elghraoui, 2013-04-30 05:04 test_lists
Messages (2)
msg188125 - (view) Author: Afif Elghraoui (Afif.Elghraoui) Date: 2013-04-30 05:04
I have two lists of strings (gene identifiers) that I know have something in common. I convert them to lists and do an intersection and I get the empty set. As an example test case, I know they both have the string 'Rv0500'

>>> list1.index('Rv0500')
278
>>> list2.index('Rv0500')
245
>>> set(list1).intersection(set(list2))
set([])

I was expecting to get a few hundred matches. My two lists are attached to this report. This is how I created the data file:

>>> x = shelve.open('lists.dat')
>>> x['list1'] = list1
>>> x['list2'] = list2
>>> x.close()

I did my best to make this report complete-- thanks for all your help.
msg188132 - (view) Author: Mark Dickinson (mark.dickinson) * (Python committer) Date: 2013-04-30 07:04
It appears that your list1 and list2 are not regular Python lists, but have type cobra.core.DictList (which inherits from list, but overrides the 'index' method).  cobra is a 3rd party package, not maintained by the Python developers, so I'm afraid this isn't the right place to ask about it;  is there a mailing list for the cobra package?
History
Date User Action Args
2022-04-11 14:57:45adminsetgithub: 62075
2013-04-30 07:04:29mark.dickinsonsetstatus: open -> closed

nosy: + mark.dickinson
messages: + msg188132

resolution: not a bug
2013-04-30 05:04:30Afif.Elghraouicreate