Home > Blockchain >  how to find a similarity in a list in python
how to find a similarity in a list in python

Time:12-30

I want to find an instance in a list that is present in another list. However I am unable to make it so that that happens. To put it in a more practical perspective:

I have this list:

listA = [['0', '0', '1', '1', '1', '0', '0', '0', '0', '1', '1', 'down', 7], ['0', '1', '1', '1', '1', '1', '0', '1', '1', '1', '1', 'up', 6], ['1', '1', '0', '0', '0', '0', '0', '1', '1', '1', '0', 'down', 8], ['0', '1', '0', '0', '1', '0', '0', '1', '0', '1', '1', 'down', 4], ['0', '1', '1', '0', '1', '0', '0', '1', '0', '1', '1', 'up', 8], ['0', '0', '0', '1', '0', '1', '1', '0', '0', '0', '1', 'down', 6], ['1', '1', '0', '0', '1', '1', '0', '1', '1', '0', '0', 'down', 8], ['1', '0', '1', '0', '1', '1', '1', '1', '1', '1', '0', 'up', 9], ['1', '0', '1', '0', '0', '0', '1', '0', '0', '1', '0', 'down', 17], ['1', '0', '1', '0', '0', '0', '1', '0', '0', '0', '1', 'down', 9], ['0', '1', '0', '1', '0', '1', '0', '1', '1', '1', '0', 'up', 10], ['0', '1', '0', '1', '1', '0', '0', '1', '1', '1', '1', 'up', 5], ['0', '1', '0', '0', '1', '1', '1', '1', '1', '1', '0', 'up', 9], ['0', '0', '1', '0', '1', '0', '0', '0', '0', '0', '1', 'down', 11], ['1', '0', '1', '0', '0', '1', '0', '1', '0', '1', '1', 'up', 7], ['1', '1', '0', '1', '0', '1', '0', '0', '1', '1', '1', 'up', 6], ['0', '0', '1', '0', '0', '1', '1', '0', '1', '1', '1', 'up', 9], ['0', '0', '0', '1', '1', '1', '0', '0', '0', '1', '0', 'down', 3], ['0', '0', '1', '1', '0', '1', '0', '1', '0', '0', '0', 'down', 13], ['1', '1', '1', '1', '1', '1', '1', '1', '0', '1', '0', 'down', 1], ['0', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', 'down', 8], ['1', '0', '1', '0', '1', '0', '0', '1', '0', '0', '0', 'down', 3], ['0', '0', '0', '1', '1', '1', '0', '0', '0', '0', '1', 'up', 1], ['0', '0', '1', '0', '0', '0', '1', '0', '0', '1', '0', 'down', 11], ['0', '1', '1', '1', '0', '1', '1', '0', '1', '0', '0', 'down', 3], ['1', '0', '0', '1', '1', '1', '1', '0', '1', '1', '1', 'down', 2], ['0', '0', '1', '0', '0', '0', '0', '1', '0', '1', '1', 'down', 10], ['0', '0', '1', '0', '1', '1', '0', '0', '1', '0', '0', 'down', 13], ['1', '1', '0', '0', '1', '0', '1', '1', '1', '0', '0', 'up', 3], ['1', '0', '0', '0', '1', '1', '1', '0', '0', '1', '0', 'down', 5], ['1', '0', '0', '1', '0', '1', '0', '1', '0', '0', '1', 'down', 9], ['0', '1', '0', '1', '1', '1', '1', '1', '1', '0', '1', 'up', 9], ['1', '1', '1', '0', '0', '1', '0', '1', '1', '1', '0', 'down', 4], ['0', '1', '0', '0', '0', '0', '0', '1', '1', '1', '0', 'down', 6], ['1', '0', '1', '1', '0', '0', '1', '1', '0', '1', '1', 'down', 3], ['1', '1', '0', '1', '0', '1', '1', '0', '0', '0', '0', 'down', 10], ['1', '0', '0', '0', '0', '1', '1', '1', '1', '0', '0', 'down', 4], ['1', '0', '1', '1', '0', '1', '0', '1', '0', '0', '0', 'up', 3], ['0', '1', '0', '0', '1', '0', '0', '1', '1', '1', '1', 'up', 12], ['1', '1', '1', '0', '0', '0', '0', '1', '0', '0', '0', 'down', 8], ['1', '1', '1', '0', '1', '1', '1', '0', '0', '1', '0', 'up', 7], ['0', '1', '1', '1', '1', '1', '0', '0', '1', '0', '0', 'up', 7], ['0', '1', '1', '1', '0', '0', '0', '0', '1', '0', '1', 'up', 5], ['1', '1', '0', '1', '0', '0', '0', '1', '0', '0', '1', 'down', 7], ['0', '0', '1', '0', '1', '0', '1', '0', '0', '0', '1', 'down', 8], ['1', '1', '1', '0', '1', '1', '1', '0', '1', '0', '1', 'up', 7], ['1', '0', '0', '1', '0', '0', '1', '1', '0', '0', '0', 'down', 10], ['1', '1', '1', '0', '1', '0', '1', '0', '0', '0', '1', 'up', 6], ['1', '0', '1', '0', '0', '0', '1', '1', '0', '0', '0', 'down', 5], ['1', '1', '1', '1', '1', '0', '0', '1', '0', '1', '0', 'down', 1], ['0', '1', '0', '0', '0', '0', '1', '1', '0', '0', '1', 'down', 13], ['1', '1', '1', '0', '1', '0', '0', '0', '0', '0', '1', 'down', 8], ['0', '1', '1', '1', '1', '0', '0', '1', '0', '0', '1', 'up', 8], ['0', '0', '1', '0', '1', '0', '1', '0', '1', '0', '0', 'down', 9], ['1', '0', '0', '0', '0', '0', '1', '0', '1', '0', '1', 'up', 2], ['1', '0', '0', '1', '1', '1', '0', '1', '1', '0', '1', 'up', 8], ['0', '1', '1', '0', '0', '0', '1', '0', '1', '1', '1', 'down', 1], ['0', '1', '0', '0', '0', '0', '0', '1', '0', '1', '1', 'down', 7], ['0', '1', '0', '0', '1', '1', '0', '1', '1', '0', '0', 'up', 4], ['0', '0', '0', '1', '1', '1', '1', '1', '1', '0', '1', 'down', 1], ['1', '0', '0', '0', '1', '0', '1', '1', '1', '0', '0', 'up', 3], ['0', '1', '0', '1', '1', '0', '1', '0', '1', '0', '0', 'down', 5], ['1', '1', '1', '1', '0', '0', '1', '0', '1', '0', '0', 'down', 5], ['1', '1', '1', '0', '1', '0', '1', '1', '0', '0', '0', 'up', 4], ['0', '1', '1', '0', '1', '0', '0', '1', '1', '1', '1', 'up', 13], ['1', '1', '0', '0', '1', '1', '0', '0', '0', '1', '1', 'down', 2], ['0', '0', '0', '0', '0', '0', '1', '0', '1', '1', '0', 'down', 9], ['1', '0', '1', '1', '0', '1', '1', '1', '0', '1', '0', 'down', 3], ['1', '0', '1', '0', '1', '0', '1', '1', '1', '0', '0', 'down', 6], ['0', '1', '1', '1', '0', '1', '0', '0', '0', '1', '0', 'down', 3], ['0', '0', '0', '1', '0', '1', '0', '0', '0', '0', '0', 'down', 14], ['0', '0', '1', '0', '1', '1', '0', '0', '0', '0', '0', 'down', 17], ['1', '0', '0', '1', '0', '1', '1', '0', '0', '1', '1', 'up', 2], ['1', '0', '1', '0', '0', '0', '0', '0', '1', '0', '0', 'down', 10], ['1', '1', '0', '1', '0', '1', '0', '1', '1', '0', '0', 'down', 9], ['1', '0', '1', '1', '1', '1', '0', '0', '1', '1', '0', 'up', 10], ['0', '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', 'down', 5], ['1', '1', '1', '1', '0', '0', '0', '1', '0', '1', '1', 'down', 3], ['1', '1', '1', '0', '0', '0', '1', '0', '1', '0', '0', 'up', 3], ['0', '0', '0', '1', '0', '1', '0', '1', '0', '1', '1', 'up', 6], ['0', '1', '1', '1', '0', '1', '1', '1', '1', '0', '0', 'up', 8], ['1', '1', '0', '1', '0', '0', '0', '0', '0', '0', '0', 'down', 8], ['0', '0', '0', '1', '0', '1', '0', '0', '0', '1', '0', 'down', 10], ['0', '1', '1', '1', '1', '0', '0', '0', '0', '1', '1', 'up', 4], ['0', '0', '1', '0', '0', '1', '0', '0', '1', '0', '0', 'down', 8], ['1', '0', '1', '0', '1', '1', '0', '1', '1', '0', '0', 'down', 6], ['0', '0', '1', '1', '0', '1', '1', '0', '1', '1', '1', 'up', 13], ['0', '1', '1', '0', '1', '0', '0', '0', '1', '0', '1', 'down', 7], ['0', '0', '0', '1', '1', '1', '1', '0', '1', '0', '0', 'up', 3], ['1', '0', '0', '1', '0', '1', '1', '0', '1', '1', '1', 'up', 5], ['0', '0', '1', '1', '0', '0', '0', '0', '1', '0', '1', 'up', 4], ['0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '1', 'down', 10], ['0', '1', '0', '1', '0', '1', '1', '1', '0', '0', '1', 'up', 5], ['0', '1', '1', '0', '0', '1', '1', '1', '1', '1', '0', 'up', 7], ['1', '1', '0', '0', '1', '1', '0', '1', '1', '0', '1', 'up', 10], ['0', '0', '0', '0', '1', '1', '1', '0', '0', '1', '0', 'down', 9], ['0', '1', '1', '1', '1', '1', '1', '0', '0', '1', '0', 'up', 7], ['0', '1', '0', '0', '1', '0', '1', '1', '1', '1', '0', 'up', 7], ['0', '1', '1', '0', '0', '1', '0', '1', '0', '1', '1', 'up', 11], ['0', '1', '1', '0', '0', '0', '0', '1', '1', '1', '1', 'down', 2], ['1', '1', '0', '0', '0', '0', '1', '1', '0', '1', '1', 'down', 3], ['0', '1', '1', '0', '1', '1', '0', '0', '0', '1', '0', 'up', 2], ['0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '1', 'down', 5], ['0', '0', '0', '1', '1', '0', '1', '1', '0', '0', '1', 'up', 5], ['1', '1', '1', '1', '1', '0', '0', '0', '1', '0', '0', 'up', 6], ['0', '0', '1', '0', '1', '1', '0', '0', '1', '1', '1', 'down', 1], ['0', '0', '1', '1', '1', '1', '0', '1', '0', '1', '0', 'down', 2], ['1', '1', '0', '1', '1', '1', '1', '1', '0', '1', '1', 'up', 9], ['0', '0', '0', '0', '0', '0', '0', '1', '1', '1', '1', 'down', 4], ['0', '0', '1', '1', '1', '1', '0', '0', '1', '1', '1', 'up', 6], ['0', '0', '1', '1', '1', '0', '1', '1', '0', '1', '1', 'up', 14], ['0', '1', '0', '0', '1', '0', '0', '0', '1', '1', '1', 'up', 4], ['1', '1', '1', '1', '1', '1', '0', '1', '0', '0', '0', 'up', 8], ['0', '1', '1', '0', '1', '0', '1', '0', '1', '0', '0', 'down', 8], ['1', '1', '1', '1', '0', '1', '0', '1', '0', '1', '0', 'up', 11], ['1', '1', '0', '1', '1', '0', '1', '1', '1', '0', '1', 'up', 10], ['1', '0', '1', '1', '1', '1', '0', '1', '1', '1', '0', 'up', 12], ['1', '1', '0', '1', '1', '1', '1', '0', '0', '0', '1', 'up', 8], ['1', '1', '0', '1', '0', '1', '0', '0', '0', '1', '1', 'down', 3], ['1', '1', '0', '0', '1', '0', '1', '0', '1', '0', '0', 'down', 12], ['0', '1', '1', '0', '0', '0', '1', '0', '1', '0', '0', 'up', 4], ['1', '1', '0', '1', '0', '0', '1', '1', '1', '0', '0', 'down', 6], ['1', '1', '1', '1', '1', '1', '1', '1', '1', '0', '1', 'up', 3], ['0', '1', '0', '1', '0', '0', '0', '1', '1', '0', '0', 'down', 11], ['0', '0', '1', '1', '1', '0', '0', '1', '1', '1', '1', 'up', 5], ['0', '0', '0', '1', '1', '0', '0', '0', '0', '1', '1', 'down', 6], ['0', '1', '1', '0', '0', '1', '1', '0', '0', '0', '0', 'down', 5], ['1', '1', '1', '1', '1', '0', '0', '0', '0', '0', '0', 'down', 6], ['1', '0', '0', '1', '1', '0', '0', '1', '0', '1', '1', 'up', 5], ['0', '0', '1', '0', '1', '0', '1', '1', '1', '0', '1', 'up', 8], ['1', '0', '0', '1', '0', '0', '1', '1', '0', '1', '0', 'up', 4], ['0', '0', '1', '0', '0', '0', '1', '1', '0', '0', '0', 'up', 1], ['1', '0', '1', '0', '1', '0', '0', '0', '0', '1', '1', 'down', 7], ['1', '1', '0', '0', '1', '1', '0', '1', '1', '1', '1', 'up', 6], ['1', '1', '0', '1', '0', '0', '1', '1', '1', '1', '0', 'up', 11], ['0', '0', '0', '0', '1', '1', '1', '0', '0', '1', '1', 'down', 7], ['1', '0', '1', '1', '0', '0', '0', '1', '1', '0', '1', 'up', 4], ['1', '1', '1', '0', '0', '1', '1', '1', '1', '0', '0', 'down', 3], ['1', '1', '0', '0', '0', '0', '1', '1', '0', '1', '1', 'up', 3], ['0', '0', '1', '1', '1', '1', '1', '0', '1', '0', '0', 'down', 5], ['0', '1', '1', '0', '0', '1', '0', '1', '1', '0', '1', 'down', 5], ['1', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', 'down', 11], ['1', '0', '0', '0', '0', '1', '0', '0', '0', '1', '0', 'down', 7], ['1', '0', '0', '1', '1', '0', '1', '1', '0', '1', '0', 'down', 5], ['0', '0', '1', '1', '0', '1', '0', '0', '1', '1', '1', 'up', 9], ['1', '0', '0', '1', '0', '1', '1', '0', '1', '1', '0', 'down', 8], ['0', '0', '1', '0', '1', '0', '0', '1', '0', '1', '1', 'down', 3], ['1', '0', '1', '1', '1', '1', '0', '1', '0', '0', '0', 'down', 5], ['1', '0', '0', '0', '1', '0', '1', '0', '0', '1', '0', 'down', 12], ['1', '1', '0', '0', '1', '0', '0', '1', '1', '0', '1', 'down', 7], ['0', '1', '0', '0', '0', '1', '1', '0', '0', '1', '0', 'down', 10], ['0', '1', '1', '0', '1', '0', '1', '1', '1', '1', '0', 'up', 5], ['1', '1', '1', '0', '1', '1', '1', '1', '0', '0', '1', 'up', 10], ['0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', 'down', 6], ['1', '1', '0', '0', '0', '1', '1', '1', '0', '1', '0', 'down', 8], ['0', '0', '1', '1', '0', '0', '1', '0', '1', '0', '1', 'up', 10], ['0', '0', '0', '0', '0', '0', '1', '1', '1', '0', '1', 'down', 6], ['0', '0', '0', '0', '0', '1', '1', '1', '1', '0', '0', 'down', 7], ['0', '1', '1', '1', '1', '0', '0', '1', '0', '1', '1', 'up', 7], ['0', '1', '0', '0', '0', '1', '1', '1', '1', '1', '1', 'up', 13], ['0', '0', '0', '1', '0', '0', '0', '1', '0', '1', '0', 'down', 15], ['0', '0', '1', '1', '0', '1', '1', '1', '1', '0', '0', 'down', 2], ['1', '1', '1', '0', '1', '0', '0', '0', '0', '1', '0', 'up', 4], ['1', '0', '0', '0', '0', '0', '1', '0', '1', '0', '1', 'down', 13], ['0', '1', '1', '0', '0', '1', '1', '0', '0', '1', '1', 'up', 10], ['0', '0', '1', '1', '1', '1', '1', '0', '0', '0', '0', 'up', 7], ['0', '0', '1', '0', '0', '0', '1', '1', '0', '0', '0', 'down', 10], ['1', '1', '1', '1', '1', '0', '1', '0', '0', '1', '0', 'up', 6], ['1', '0', '1', '0', '1', '0', '1', '0', '0', '1', '0', 'down', 14], ['0', '1', '1', '0', '1', '0', '1', '0', '0', '1', '1', 'up', 6], ['0', '0', '1', '0', '0', '1', '0', '1', '1', '0', '0', 'down', 11], ['1', '1', '0', '1', '1', '0', '0', '0', '1', '0', '1', 'up', 11], ['1', '1', '0', '0', '1', '0', '0', '1', '0', '0', '0', 'down', 9], ['1', '1', '1', '0', '0', '1', '1', '0', '0', '0', '1', 'up', 7], ['1', '0', '0', '1', '0', '1', '1', '1', '1', '1', '0', 'up', 5], ['0', '0', '0', '1', '1', '0', '0', '0', '0', '0', '1', 'down', 9], ['1', '1', '0', '1', '1', '0', '0', '0', '0', '0', '0', 'down', 9], ['1', '0', '0', '1', '0', '0', '1', '0', '1', '0', '1', 'down', 9], ['0', '0', '1', '0', '1', '1', '1', '1', '0', '0', '0', 'up', 11], ['1', '1', '0', '1', '1', '0', '0', '0', '1', '1', '1', 'down', 2], ['0', '0', '0', '0', '0', '0', '0', '0', '1', '0', '1', 'down', 8], ['0', '1', '1', '1', '0', '0', '1', '0', '1', '0', '1', 'up', 7], ['1', '0', '1', '1', '0', '1', '1', '0', '0', '1', '1', 'up', 9], ['1', '0', '1', '1', '0', '1', '0', '0', '1', '1', '1', 'up', 5], ['0', '1', '0', '0', '1', '1', '1', '1', '0', '0', '0', 'up', 8], ['0', '1', '0', '0', '1', '1', '0', '1', '0', '1', '0', 'up', 10], ['1', '1', '0', '1', '1', '0', '1', '0', '0', '1', '0', 'down', 7], ['1', '1', '0', '1', '1', '1', '0', '1', '0', '0', '1', 'up', 2], ['0', '1', '0', '0', '0', '1', '0', '1', '1', '0', '0', 'up', 4], ['0', '0', '0', '0', '0', '1', '1', '1', '1', '1', '0', 'down', 2], ['0', '1', '1', '0', '1', '0', '0', '0', '1', '1', '0', 'up', 6], ['1', '1', '1', '0', '0', '1', '1', '0', '0', '1', '0', 'down', 6], ['0', '0', '1', '1', '1', '0', '0', '1', '1', '0', '0', 'up', 5], ['0', '0', '0', '0', '0', '0', '1', '1', '0', '1', '1', 'down', 12], ['0', '0', '1', '1', '1', '0', '0', '1', '0', '1', '0', 'down', 8], ['1', '1', '1', '0', '0', '1', '0', '1', '1', '0', '0', 'up', 5], ['1', '0', '0', '1', '1', '0', '0', '1', '0', '0', '1', 'up', 1], ['1', '0', '1', '0', '1', '0', '1', '1', '0', '0', '1', 'up', 7], ['0', '1', '1', '0', '1', '0', '0', '1', '0', '0', '0', 'down', 5], ['1', '1', '1', '0', '0', '0', '0', '0', '1', '1', '0', 'down', 9], ['0', '1', '0', '1', '1', '0', '0', '1', '0', '0', '1', 'down', 9], ['0', '1', '0', '0', '1', '0', '0', '0', '0', '0', '1', 'down', 15], ['1', '0', '1', '0', '1', '0', '1', '1', '1', '1', '1', 'up', 6], ['1', '1', '1', '1', '0', '1', '0', '1', '1', '1', '1', 'up', 10], ['0', '0', '0', '1', '0', '1', '1', '1', '1', '1', '0', 'up', 7], ['1', '1', '0', '1', '1', '0', '1', '1', '0', '0', '1', 'up', 5], ['0', '0', '1', '0', '1', '1', '0', '1', '0', '0', '0', 'up', 4], ['1', '0', '1', '1', '1', '0', '0', '1', '1', '1', '0', 'up', 7], ['1', '1', '0', '1', '0', '1', '1', '0', '0', '1', '0', 'up', 10], ['1', '1', '1', '0', '0', '1', '0', '0', '1', '1', '1', 'down', 1], ['0', '0', '0', '0', '1', '0', '0', '1', '1', '1', '0', 'down', 9]]

these are the lists I want to find:

listB = ['1', '1', '0', '0', '0', '0', '0', '1', '1', '1', '0']
listC = ['0', '1', '1', '0', '1', '0', '0', '1', '0', '1', '1']

this is the method I was trying to use:

                                             def fl1(list1, list2):
    index = -1
    occ = 0
    for i, l in enumerate(list2):
        if l[:len(list1)] == list1:
            if l[-1] > occ:
                index = i
                occ = l[-1]
    if index == -1:
        return "The 1st list doesn't appear in the 2nd one."
    else:
        print(f"The 1st list appears in the 2nd one at index {index} with a number of occurences equal to {occ}.")
        u = "up"
        y = "down"
        look_up = [(''.join(a[:11]), str(a[11])) if len(a) >= 12 else ('', '') for a in list2]
        if (''.join(list1), y) in look_up:
            print("down")


        if (''.join(list1), u) in look_up:
            print("up")



print(fl1(listBB, listAA))

This is the results I want to get but I am not:

#for listB 
The 1st list appears in the 2nd one at index {index} with a number of occurences equal to {occ}.
down

#for listC
The 1st list appears in the 2nd one at index {index} with a number of occurences equal to {occ}.
up

Instead this is what I am getting:

The 1st list appears in the 2nd one at index 1313 with a number of occurences equal to 3.
down
up
None

CodePudding user response:

Here's a little trick that does what you are looking for:

for l in listA:
    if ''.join(listB) in ''.join(l[:len(listB)]):
        print("listB exists")
    if ''.join(listC) in ''.join(l[:len(listC)]):
        print("listC exists")

Convert both of the lists to string with join method of string.

Here at l[:len(listB)] I am comparing with the necessary length of the target list as join method throws an error because of int element on last index of lists.

You can tweak this code to meet your requirements.

CodePudding user response:

Something like this should give you what you want:

listA = [['0', '0', '1', '1', '1', '0', '0', '0', '0', '1', '1', 'down', 7], ['0', '1', '1', '1', '1', '1', '0', '1', '1', '1', '1', 'up', 6], ['1', '1', '0', '0', '0', '0', '0', '1', '1', '1', '0', 'down', 8], ['0', '1', '0', '0', '1', '0', '0', '1', '0', '1', '1', 'down', 4], ['0', '1', '1', '0', '1', '0', '0', '1', '0', '1', '1', 'up', 8], ['0', '0', '0', '1', '0', '1', '1', '0', '0', '0', '1', 'down', 6], ['1', '1', '0', '0', '1', '1', '0', '1', '1', '0', '0', 'down', 8], ['1', '0', '1', '0', '1', '1', '1', '1', '1', '1', '0', 'up', 9], ['1', '0', '1', '0', '0', '0', '1', '0', '0', '1', '0', 'down', 17], ['1', '0', '1', '0', '0', '0', '1', '0', '0', '0', '1', 'down', 9], ['0', '1', '0', '1', '0', '1', '0', '1', '1', '1', '0', 'up', 10], ['0', '1', '0', '1', '1', '0', '0', '1', '1', '1', '1', 'up', 5], ['0', '1', '0', '0', '1', '1', '1', '1', '1', '1', '0', 'up', 9], ['0', '0', '1', '0', '1', '0', '0', '0', '0', '0', '1', 'down', 11], ['1', '0', '1', '0', '0', '1', '0', '1', '0', '1', '1', 'up', 7], ['1', '1', '0', '1', '0', '1', '0', '0', '1', '1', '1', 'up', 6], ['0', '0', '1', '0', '0', '1', '1', '0', '1', '1', '1', 'up', 9], ['0', '0', '0', '1', '1', '1', '0', '0', '0', '1', '0', 'down', 3], ['0', '0', '1', '1', '0', '1', '0', '1', '0', '0', '0', 'down', 13], ['1', '1', '1', '1', '1', '1', '1', '1', '0', '1', '0', 'down', 1], ['0', '0', '0', '0', '0', '0', '0', '1', '1', '0', '0', 'down', 8], ['1', '0', '1', '0', '1', '0', '0', '1', '0', '0', '0', 'down', 3], ['0', '0', '0', '1', '1', '1', '0', '0', '0', '0', '1', 'up', 1], ['0', '0', '1', '0', '0', '0', '1', '0', '0', '1', '0', 'down', 11], ['0', '1', '1', '1', '0', '1', '1', '0', '1', '0', '0', 'down', 3], ['1', '0', '0', '1', '1', '1', '1', '0', '1', '1', '1', 'down', 2], ['0', '0', '1', '0', '0', '0', '0', '1', '0', '1', '1', 'down', 10], ['0', '0', '1', '0', '1', '1', '0', '0', '1', '0', '0', 'down', 13], ['1', '1', '0', '0', '1', '0', '1', '1', '1', '0', '0', 'up', 3], ['1', '0', '0', '0', '1', '1', '1', '0', '0', '1', '0', 'down', 5], ['1', '0', '0', '1', '0', '1', '0', '1', '0', '0', '1', 'down', 9], ['0', '1', '0', '1', '1', '1', '1', '1', '1', '0', '1', 'up', 9], ['1', '1', '1', '0', '0', '1', '0', '1', '1', '1', '0', 'down', 4], ['0', '1', '0', '0', '0', '0', '0', '1', '1', '1', '0', 'down', 6], ['1', '0', '1', '1', '0', '0', '1', '1', '0', '1', '1', 'down', 3], ['1', '1', '0', '1', '0', '1', '1', '0', '0', '0', '0', 'down', 10], ['1', '0', '0', '0', '0', '1', '1', '1', '1', '0', '0', 'down', 4], ['1', '0', '1', '1', '0', '1', '0', '1', '0', '0', '0', 'up', 3], ['0', '1', '0', '0', '1', '0', '0', '1', '1', '1', '1', 'up', 12], ['1', '1', '1', '0', '0', '0', '0', '1', '0', '0', '0', 'down', 8], ['1', '1', '1', '0', '1', '1', '1', '0', '0', '1', '0', 'up', 7], ['0', '1', '1', '1', '1', '1', '0', '0', '1', '0', '0', 'up', 7], ['0', '1', '1', '1', '0', '0', '0', '0', '1', '0', '1', 'up', 5], ['1', '1', '0', '1', '0', '0', '0', '1', '0', '0', '1', 'down', 7], ['0', '0', '1', '0', '1', '0', '1', '0', '0', '0', '1', 'down', 8], ['1', '1', '1', '0', '1', '1', '1', '0', '1', '0', '1', 'up', 7], ['1', '0', '0', '1', '0', '0', '1', '1', '0', '0', '0', 'down', 10], ['1', '1', '1', '0', '1', '0', '1', '0', '0', '0', '1', 'up', 6], ['1', '0', '1', '0', '0', '0', '1', '1', '0', '0', '0', 'down', 5], ['1', '1', '1', '1', '1', '0', '0', '1', '0', '1', '0', 'down', 1], ['0', '1', '0', '0', '0', '0', '1', '1', '0', '0', '1', 'down', 13], ['1', '1', '1', '0', '1', '0', '0', '0', '0', '0', '1', 'down', 8], ['0', '1', '1', '1', '1', '0', '0', '1', '0', '0', '1', 'up', 8], ['0', '0', '1', '0', '1', '0', '1', '0', '1', '0', '0', 'down', 9], ['1', '0', '0', '0', '0', '0', '1', '0', '1', '0', '1', 'up', 2], ['1', '0', '0', '1', '1', '1', '0', '1', '1', '0', '1', 'up', 8], ['0', '1', '1', '0', '0', '0', '1', '0', '1', '1', '1', 'down', 1], ['0', '1', '0', '0', '0', '0', '0', '1', '0', '1', '1', 'down', 7], ['0', '1', '0', '0', '1', '1', '0', '1', '1', '0', '0', 'up', 4], ['0', '0', '0', '1', '1', '1', '1', '1', '1', '0', '1', 'down', 1], ['1', '0', '0', '0', '1', '0', '1', '1', '1', '0', '0', 'up', 3], ['0', '1', '0', '1', '1', '0', '1', '0', '1', '0', '0', 'down', 5], ['1', '1', '1', '1', '0', '0', '1', '0', '1', '0', '0', 'down', 5], ['1', '1', '1', '0', '1', '0', '1', '1', '0', '0', '0', 'up', 4], ['0', '1', '1', '0', '1', '0', '0', '1', '1', '1', '1', 'up', 13], ['1', '1', '0', '0', '1', '1', '0', '0', '0', '1', '1', 'down', 2], ['0', '0', '0', '0', '0', '0', '1', '0', '1', '1', '0', 'down', 9], ['1', '0', '1', '1', '0', '1', '1', '1', '0', '1', '0', 'down', 3], ['1', '0', '1', '0', '1', '0', '1', '1', '1', '0', '0', 'down', 6], ['0', '1', '1', '1', '0', '1', '0', '0', '0', '1', '0', 'down', 3], ['0', '0', '0', '1', '0', '1', '0', '0', '0', '0', '0', 'down', 14], ['0', '0', '1', '0', '1', '1', '0', '0', '0', '0', '0', 'down', 17], ['1', '0', '0', '1', '0', '1', '1', '0', '0', '1', '1', 'up', 2], ['1', '0', '1', '0', '0', '0', '0', '0', '1', '0', '0', 'down', 10], ['1', '1', '0', '1', '0', '1', '0', '1', '1', '0', '0', 'down', 9], ['1', '0', '1', '1', '1', '1', '0', '0', '1', '1', '0', 'up', 10], ['0', '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', 'down', 5], ['1', '1', '1', '1', '0', '0', '0', '1', '0', '1', '1', 'down', 3], ['1', '1', '1', '0', '0', '0', '1', '0', '1', '0', '0', 'up', 3], ['0', '0', '0', '1', '0', '1', '0', '1', '0', '1', '1', 'up', 6], ['0', '1', '1', '1', '0', '1', '1', '1', '1', '0', '0', 'up', 8], ['1', '1', '0', '1', '0', '0', '0', '0', '0', '0', '0', 'down', 8], ['0', '0', '0', '1', '0', '1', '0', '0', '0', '1', '0', 'down', 10], ['0', '1', '1', '1', '1', '0', '0', '0', '0', '1', '1', 'up', 4], ['0', '0', '1', '0', '0', '1', '0', '0', '1', '0', '0', 'down', 8], ['1', '0', '1', '0', '1', '1', '0', '1', '1', '0', '0', 'down', 6], ['0', '0', '1', '1', '0', '1', '1', '0', '1', '1', '1', 'up', 13], ['0', '1', '1', '0', '1', '0', '0', '0', '1', '0', '1', 'down', 7], ['0', '0', '0', '1', '1', '1', '1', '0', '1', '0', '0', 'up', 3], ['1', '0', '0', '1', '0', '1', '1', '0', '1', '1', '1', 'up', 5], ['0', '0', '1', '1', '0', '0', '0', '0', '1', '0', '1', 'up', 4], ['0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '1', 'down', 10], ['0', '1', '0', '1', '0', '1', '1', '1', '0', '0', '1', 'up', 5], ['0', '1', '1', '0', '0', '1', '1', '1', '1', '1', '0', 'up', 7], ['1', '1', '0', '0', '1', '1', '0', '1', '1', '0', '1', 'up', 10], ['0', '0', '0', '0', '1', '1', '1', '0', '0', '1', '0', 'down', 9], ['0', '1', '1', '1', '1', '1', '1', '0', '0', '1', '0', 'up', 7], ['0', '1', '0', '0', '1', '0', '1', '1', '1', '1', '0', 'up', 7], ['0', '1', '1', '0', '0', '1', '0', '1', '0', '1', '1', 'up', 11], ['0', '1', '1', '0', '0', '0', '0', '1', '1', '1', '1', 'down', 2], ['1', '1', '0', '0', '0', '0', '1', '1', '0', '1', '1', 'down', 3], ['0', '1', '1', '0', '1', '1', '0', '0', '0', '1', '0', 'up', 2], ['0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '1', 'down', 5], ['0', '0', '0', '1', '1', '0', '1', '1', '0', '0', '1', 'up', 5], ['1', '1', '1', '1', '1', '0', '0', '0', '1', '0', '0', 'up', 6], ['0', '0', '1', '0', '1', '1', '0', '0', '1', '1', '1', 'down', 1], ['0', '0', '1', '1', '1', '1', '0', '1', '0', '1', '0', 'down', 2], ['1', '1', '0', '1', '1', '1', '1', '1', '0', '1', '1', 'up', 9], ['0', '0', '0', '0', '0', '0', '0', '1', '1', '1', '1', 'down', 4], ['0', '0', '1', '1', '1', '1', '0', '0', '1', '1', '1', 'up', 6], ['0', '0', '1', '1', '1', '0', '1', '1', '0', '1', '1', 'up', 14], ['0', '1', '0', '0', '1', '0', '0', '0', '1', '1', '1', 'up', 4], ['1', '1', '1', '1', '1', '1', '0', '1', '0', '0', '0', 'up', 8], ['0', '1', '1', '0', '1', '0', '1', '0', '1', '0', '0', 'down', 8], ['1', '1', '1', '1', '0', '1', '0', '1', '0', '1', '0', 'up', 11], ['1', '1', '0', '1', '1', '0', '1', '1', '1', '0', '1', 'up', 10], ['1', '0', '1', '1', '1', '1', '0', '1', '1', '1', '0', 'up', 12], ['1', '1', '0', '1', '1', '1', '1', '0', '0', '0', '1', 'up', 8], ['1', '1', '0', '1', '0', '1', '0', '0', '0', '1', '1', 'down', 3], ['1', '1', '0', '0', '1', '0', '1', '0', '1', '0', '0', 'down', 12], ['0', '1', '1', '0', '0', '0', '1', '0', '1', '0', '0', 'up', 4], ['1', '1', '0', '1', '0', '0', '1', '1', '1', '0', '0', 'down', 6], ['1', '1', '1', '1', '1', '1', '1', '1', '1', '0', '1', 'up', 3], ['0', '1', '0', '1', '0', '0', '0', '1', '1', '0', '0', 'down', 11], ['0', '0', '1', '1', '1', '0', '0', '1', '1', '1', '1', 'up', 5], ['0', '0', '0', '1', '1', '0', '0', '0', '0', '1', '1', 'down', 6], ['0', '1', '1', '0', '0', '1', '1', '0', '0', '0', '0', 'down', 5], ['1', '1', '1', '1', '1', '0', '0', '0', '0', '0', '0', 'down', 6], ['1', '0', '0', '1', '1', '0', '0', '1', '0', '1', '1', 'up', 5], ['0', '0', '1', '0', '1', '0', '1', '1', '1', '0', '1', 'up', 8], ['1', '0', '0', '1', '0', '0', '1', '1', '0', '1', '0', 'up', 4], ['0', '0', '1', '0', '0', '0', '1', '1', '0', '0', '0', 'up', 1], ['1', '0', '1', '0', '1', '0', '0', '0', '0', '1', '1', 'down', 7], ['1', '1', '0', '0', '1', '1', '0', '1', '1', '1', '1', 'up', 6], ['1', '1', '0', '1', '0', '0', '1', '1', '1', '1', '0', 'up', 11], ['0', '0', '0', '0', '1', '1', '1', '0', '0', '1', '1', 'down', 7], ['1', '0', '1', '1', '0', '0', '0', '1', '1', '0', '1', 'up', 4], ['1', '1', '1', '0', '0', '1', '1', '1', '1', '0', '0', 'down', 3], ['1', '1', '0', '0', '0', '0', '1', '1', '0', '1', '1', 'up', 3], ['0', '0', '1', '1', '1', '1', '1', '0', '1', '0', '0', 'down', 5], ['0', '1', '1', '0', '0', '1', '0', '1', '1', '0', '1', 'down', 5], ['1', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', 'down', 11], ['1', '0', '0', '0', '0', '1', '0', '0', '0', '1', '0', 'down', 7], ['1', '0', '0', '1', '1', '0', '1', '1', '0', '1', '0', 'down', 5], ['0', '0', '1', '1', '0', '1', '0', '0', '1', '1', '1', 'up', 9], ['1', '0', '0', '1', '0', '1', '1', '0', '1', '1', '0', 'down', 8], ['0', '0', '1', '0', '1', '0', '0', '1', '0', '1', '1', 'down', 3], ['1', '0', '1', '1', '1', '1', '0', '1', '0', '0', '0', 'down', 5], ['1', '0', '0', '0', '1', '0', '1', '0', '0', '1', '0', 'down', 12], ['1', '1', '0', '0', '1', '0', '0', '1', '1', '0', '1', 'down', 7], ['0', '1', '0', '0', '0', '1', '1', '0', '0', '1', '0', 'down', 10], ['0', '1', '1', '0', '1', '0', '1', '1', '1', '1', '0', 'up', 5], ['1', '1', '1', '0', '1', '1', '1', '1', '0', '0', '1', 'up', 10], ['0', '0', '1', '1', '0', '0', '0', '0', '0', '0', '0', 'down', 6], ['1', '1', '0', '0', '0', '1', '1', '1', '0', '1', '0', 'down', 8], ['0', '0', '1', '1', '0', '0', '1', '0', '1', '0', '1', 'up', 10], ['0', '0', '0', '0', '0', '0', '1', '1', '1', '0', '1', 'down', 6], ['0', '0', '0', '0', '0', '1', '1', '1', '1', '0', '0', 'down', 7], ['0', '1', '1', '1', '1', '0', '0', '1', '0', '1', '1', 'up', 7], ['0', '1', '0', '0', '0', '1', '1', '1', '1', '1', '1', 'up', 13], ['0', '0', '0', '1', '0', '0', '0', '1', '0', '1', '0', 'down', 15], ['0', '0', '1', '1', '0', '1', '1', '1', '1', '0', '0', 'down', 2], ['1', '1', '1', '0', '1', '0', '0', '0', '0', '1', '0', 'up', 4], ['1', '0', '0', '0', '0', '0', '1', '0', '1', '0', '1', 'down', 13], ['0', '1', '1', '0', '0', '1', '1', '0', '0', '1', '1', 'up', 10], ['0', '0', '1', '1', '1', '1', '1', '0', '0', '0', '0', 'up', 7], ['0', '0', '1', '0', '0', '0', '1', '1', '0', '0', '0', 'down', 10], ['1', '1', '1', '1', '1', '0', '1', '0', '0', '1', '0', 'up', 6], ['1', '0', '1', '0', '1', '0', '1', '0', '0', '1', '0', 'down', 14], ['0', '1', '1', '0', '1', '0', '1', '0', '0', '1', '1', 'up', 6], ['0', '0', '1', '0', '0', '1', '0', '1', '1', '0', '0', 'down', 11], ['1', '1', '0', '1', '1', '0', '0', '0', '1', '0', '1', 'up', 11], ['1', '1', '0', '0', '1', '0', '0', '1', '0', '0', '0', 'down', 9], ['1', '1', '1', '0', '0', '1', '1', '0', '0', '0', '1', 'up', 7], ['1', '0', '0', '1', '0', '1', '1', '1', '1', '1', '0', 'up', 5], ['0', '0', '0', '1', '1', '0', '0', '0', '0', '0', '1', 'down', 9], ['1', '1', '0', '1', '1', '0', '0', '0', '0', '0', '0', 'down', 9], ['1', '0', '0', '1', '0', '0', '1', '0', '1', '0', '1', 'down', 9], ['0', '0', '1', '0', '1', '1', '1', '1', '0', '0', '0', 'up', 11], ['1', '1', '0', '1', '1', '0', '0', '0', '1', '1', '1', 'down', 2], ['0', '0', '0', '0', '0', '0', '0', '0', '1', '0', '1', 'down', 8], ['0', '1', '1', '1', '0', '0', '1', '0', '1', '0', '1', 'up', 7], ['1', '0', '1', '1', '0', '1', '1', '0', '0', '1', '1', 'up', 9], ['1', '0', '1', '1', '0', '1', '0', '0', '1', '1', '1', 'up', 5], ['0', '1', '0', '0', '1', '1', '1', '1', '0', '0', '0', 'up', 8], ['0', '1', '0', '0', '1', '1', '0', '1', '0', '1', '0', 'up', 10], ['1', '1', '0', '1', '1', '0', '1', '0', '0', '1', '0', 'down', 7], ['1', '1', '0', '1', '1', '1', '0', '1', '0', '0', '1', 'up', 2], ['0', '1', '0', '0', '0', '1', '0', '1', '1', '0', '0', 'up', 4], ['0', '0', '0', '0', '0', '1', '1', '1', '1', '1', '0', 'down', 2], ['0', '1', '1', '0', '1', '0', '0', '0', '1', '1', '0', 'up', 6], ['1', '1', '1', '0', '0', '1', '1', '0', '0', '1', '0', 'down', 6], ['0', '0', '1', '1', '1', '0', '0', '1', '1', '0', '0', 'up', 5], ['0', '0', '0', '0', '0', '0', '1', '1', '0', '1', '1', 'down', 12], ['0', '0', '1', '1', '1', '0', '0', '1', '0', '1', '0', 'down', 8], ['1', '1', '1', '0', '0', '1', '0', '1', '1', '0', '0', 'up', 5], ['1', '0', '0', '1', '1', '0', '0', '1', '0', '0', '1', 'up', 1], ['1', '0', '1', '0', '1', '0', '1', '1', '0', '0', '1', 'up', 7], ['0', '1', '1', '0', '1', '0', '0', '1', '0', '0', '0', 'down', 5], ['1', '1', '1', '0', '0', '0', '0', '0', '1', '1', '0', 'down', 9], ['0', '1', '0', '1', '1', '0', '0', '1', '0', '0', '1', 'down', 9], ['0', '1', '0', '0', '1', '0', '0', '0', '0', '0', '1', 'down', 15], ['1', '0', '1', '0', '1', '0', '1', '1', '1', '1', '1', 'up', 6], ['1', '1', '1', '1', '0', '1', '0', '1', '1', '1', '1', 'up', 10], ['0', '0', '0', '1', '0', '1', '1', '1', '1', '1', '0', 'up', 7], ['1', '1', '0', '1', '1', '0', '1', '1', '0', '0', '1', 'up', 5], ['0', '0', '1', '0', '1', '1', '0', '1', '0', '0', '0', 'up', 4], ['1', '0', '1', '1', '1', '0', '0', '1', '1', '1', '0', 'up', 7], ['1', '1', '0', '1', '0', '1', '1', '0', '0', '1', '0', 'up', 10], ['1', '1', '1', '0', '0', '1', '0', '0', '1', '1', '1', 'down', 1], ['0', '0', '0', '0', '1', '0', '0', '1', '1', '1', '0', 'down', 9]]

listB = ['1', '1', '0', '0', '0', '0', '0', '1', '1', '1', '0']
listC = ['0', '1', '1', '0', '1', '0', '0', '1', '0', '1', '1']

def findSimilars(myList: list):
    for index in range(len(listA)):
        tmp = [j for i, j in zip(myList, listA[index])]

        if (myList == tmp):
            print(f'Index: {index}')
            print(f'myList: {myList}')
            print(f'listA[index]: {listA[index]}')

findSimilars(listB)
findSimilars(listC)

CodePudding user response:

def find_sublist(sublist, list_of_lists):
    for mainlist in list_of_lists:
        if is_sublist(sublist, mainlist):
            return True
    return False

def is_sublist(sublist, mainlist):
    if not sublist:
        return True
    if not mainlist:
        return False
    if mainlist[0] == sublist[0]:
        return is_sublist(sublist[1:], mainlist[1:])
    return is_sublist(sublist, mainlist[1:])

The find_sublist function takes a list sublist and a list of lists list_of_lists as input, and returns True if the sublist is contained within one of the lists in list_of_lists as a contiguous sequence of elements. I'm not 100% sure this is what you are looking for but hopefully it is.

You can use these functions to then accumulate occurrences and their respective indexes with a bit of modification to your original script including these functions.

  • Related