Home > database >  how to select a list with the most occurances
how to select a list with the most occurances

Time:12-31

I have a list of lists that contains a list I am looking for. This list of lists contains 11 integers before a string and after that string is the number of times that list in particular has occurred e.g ['1', '1', '0', '1', '0', '1', '0', '0', '0', '0', '1', 'down', 9]. The string changes from time to time and can either be "up" or "down" meaning that the same list can occur twice e.g ['1', '1', '0', '1', '0', '1', '0', '0', '0', '0', '1', 'down', 9], ['1', '1', '0', '1', '0', '1', '0', '0', '0', '0', '1', 'up', 13].

What I seek assistance in is how do I make it so that in the instance the is a repeated list like as mentioned above, select the list with the most occurrences which in this case would be ['1', '1', '0', '1', '0', '1', '0', '0', '0', '0', '1', 'up', 13] while at the same time identifying the string.

To put in a more practical standpoint:

#this is the list of lists
listA = [['0', '1', '1', '0', '0', '0', '0', '1', '1', '0', '1', 'down', 5], ['0', '0', '0', '0', '1', '0', '0', '1', '1', '0', '0', 'down', 7], ['1', '1', '0', '1', '0', '1', '1', '0', '0', '1', '1', 'down', 1], ['0', '0', '0', '0', '0', '0', '1', '0', '0', '1', '0', 'down', 6], ['1', '1', '1', '0', '0', '0', '0', '0', '1', '1', '1', 'down', 3], ['1', '0', '1', '0', '0', '1', '1', '1', '0', '0', '0', 'down', 9], ['0', '1', '1', '0', '0', '0', '0', '1', '0', '1', '1', 'up', 4], ['0', '0', '0', '1', '1', '1', '1', '0', '1', '0', '0', 'down', 8], ['1', '0', '1', '1', '0', '1', '1', '0', '1', '0', '1', 'up', 5], ['0', '1', '0', '1', '0', '1', '1', '0', '1', '0', '1', 'down', 3], ['0', '1', '0', '1', '1', '0', '0', '1', '0', '1', '0', 'down', 5], ['1', '1', '0', '1', '0', '0', '1', '1', '1', '0', '1', 'up', 6], ['0', '0', '1', '1', '1', '0', '1', '0', '0', '1', '1', 'up', 10], ['1', '1', '1', '1', '1', '1', '0', '0', '1', '0', '1', 'up', 3], ['0', '1', '1', '1', '0', '0', '0', '1', '0', '1', '1', 'down', 3], ['1', '1', '1', '1', '1', '0', '1', '1', '1', '1', '0', 'up', 6], ['0', '0', '1', '1', '1', '0', '0', '0', '1', '0', '1', 'down', 7], ['1', '1', '0', '0', '1', '0', '0', '1', '0', '1', '1', 'down', 3], ['0', '0', '0', '0', '1', '1', '0', '1', '1', '1', '0', 'up', 3], ['1', '1', '0', '1', '0', '1', '1', '0', '1', '1', '0', 'up', 10], ['0', '1', '0', '1', '1', '1', '1', '0', '1', '0', '0', 'up', 6], ['0', '0', '1', '1', '0', '0', '1', '1', '1', '0', '0', 'down', 2], ['1', '1', '1', '1', '0', '0', '0', '0', '0', '1', '1', 'up', 4], ['0', '0', '0', '1', '1', '0', '1', '1', '0', '0', '0', 'down', 6], ['1', '0', '0', '1', '1', '0', '1', '1', '1', '0', '1', 'up', 7], ['0', '1', '0', '0', '1', '0', '0', '0', '1', '0', '1', 'down', 13], ['0', '1', '0', '0', '1', '1', '0', '0', '0', '0', '0', 'up', 2], ['0', '0', '0', '1', '1', '1', '1', '0', '0', '0', '1', 'down', 5], ['0', '0', '0', '0', '1', '0', '0', '1', '0', '1', '1', 'down', 9], ['0', '1', '1', '1', '1', '1', '1', '0', '0', '0', '1', 'up', 4], ['1', '1', '1', '0', '0', '0', '0', '1', '0', '0', '0', 'up', 3], ['0', '0', '1', '0', '1', '0', '0', '0', '1', '1', '0', 'down', 7], ['1', '0', '1', '1', '0', '1', '1', '0', '1', '1', '0', 'up', 5], ['0', '1', '0', '0', '1', '1', '1', '0', '0', '1', '0', 'down', 10], ['0', '1', '1', '0', '0', '1', '0', '0', '0', '0', '1', 'down', 6], ['1', '1', '0', '1', '1', '0', '0', '0', '0', '1', '1', 'down', 3], ['1', '1', '0', '1', '1', '1', '0', '1', '0', '0', '0', 'up', 4], ['1', '0', '0', '1', '1', '0', '1', '0', '1', '0', '1', 'down', 6], ['1', '0', '1', '0', '0', '0', '0', '0', '0', '0', '1', 'down', 6], ['0', '1', '1', '1', '1', '1', '1', '0', '1', '1', '1', 'up', 6], ['1', '0', '1', '0', '0', '0', '1', '0', '1', '0', '1', 'down', 8], ['0', '1', '0', '1', '1', '0', '1', '0', '0', '0', '1', 'down', 5], ['1', '1', '1', '1', '1', '1', '0', '0', '0', '0', '1', 'up', 4], ['1', '0', '0', '1', '1', '1', '0', '0', '1', '0', '0', 'up', 2], ['0', '0', '1', '0', '0', '1', '1', '1', '1', '0', '0', 'down', 2], ['0', '0', '1', '1', '0', '0', '1', '1', '1', '1', '1', 'up', 4], ['1', '0', '0', '0', '0', '0', '0', '1', '0', '1', '0', 'down', 3], ['1', '0', '1', '1', '0', '1', '1', '1', '1', '1', '0', 'up', 10], ['0', '0', '0', '0', '0', '0', '1', '1', '1', '0', '1', 'up', 3], ['1', '1', '0', '1', '0', '1', '0', '0', '1', '0', '0', 'down', 7], ['1', '1', '0', '1', '0', '1', '1', '1', '1', '0', '1', 'up', 6], ['0', '1', '1', '0', '1', '1', '0', '1', '0', '1', '0', 'down', 2], ['1', '1', '1', '1', '1', '1', '0', '1', '1', '0', '0', 'down', 1], ['1', '0', '1', '1', '0', '0', '1', '1', '0', '0', '0', 'down', 6], ['1', '0', '1', '0', '0', '1', '0', '0', '1', '1', '1', 'up', 4], ['1', '1', '0', '0', '0', '0', '1', '0', '0', '1', '1', 'up', 3], ['0', '1', '1', '0', '0', '1', '1', '1', '1', '0', '0', 'up', 5], ['0', '0', '1', '0', '0', '0', '0', '1', '1', '1', '1', 'up', 2], ['0', '1', '1', '0', '1', '0', '1', '0', '1', '0', '1', 'up', 7], ['1', '1', '1', '0', '1', '1', '0', '0', '1', '0', '0', 'down', 5], ['0', '0', '1', '1', '0', '1', '1', '1', '0', '0', '1', 'up', 7], ['0', '1', '1', '1', '0', '1', '0', '0', '0', '1', '1', 'up', 11], ['1', '0', '1', '0', '0', '1', '0', '0', '0', '0', '1', 'down', 3], ['0', '0', '0', '0', '1', '0', '0', '0', '1', '1', '1', 'down', 11], ['0', '0', '0', '0', '1', '1', '0', '0', '0', '1', '0', 'down', 11], ['1', '0', '1', '0', '1', '0', '1', '1', '1', '0', '1', 'up', 6], ['0', '0', '1', '1', '1', '0', '0', '0', '1', '1', '0', 'down', 5], ['1', '1', '1', '0', '0', '0', '1', '0', '0', '1', '0', 'down', 5], ['1', '0', '1', '0', '0', '1', '0', '1', '0', '0', '0', 'down', 14], ['1', '1', '0', '1', '0', '1', '1', '0', '0', '1', '1', 'up', 8], ['0', '1', '0', '0', '1', '0', '0', '0', '0', '1', '0', 'down', 10], ['1', '1', '0', '1', '1', '1', '0', '0', '1', '1', '1', 'up', 12], ['1', '0', '1', '1', '0', '1', '1', '1', '0', '0', '1', 'up', 8], ['1', '0', '0', '1', '0', '1', '0', '0', '0', '1', '0', 'down', 8], ['0', '1', '1', '0', '0', '1', '1', '0', '1', '0', '1', 'up', 7], ['1', '0', '0', '1', '0', '1', '0', '0', '1', '1', '1', 'down', 5], ['1', '1', '1', '1', '0', '0', '0', '1', '1', '1', '0', 'up', 5], ['1', '1', '1', '0', '0', '0', '0', '1', '0', '1', '0', 'down', 6], ['1', '0', '0', '1', '0', '0', '1', '0', '1', '1', '1', 'down', 2], ['1', '1', '1', '0', '0', '1', '1', '1', '0', '1', '0', 'down', 2], ['0', '1', '0', '1', '1', '1', '0', '0', '1', '1', '1', 'down', 1], ['0', '1', '1', '1', '1', '0', '1', '1', '0', '0', '0', 'up', 4], ['1', '0', '0', '0', '0', '0', '1', '1', '1', '1', '0', 'up', 1], ['0', '1', '1', '1', '1', '0', '1', '0', '1', '0', '0', 'down', 3], ['1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'down', 7], ['1', '0', '0', '1', '1', '1', '0', '0', '1', '1', '0', 'up', 3], ['0', '1', '1', '0', '1', '1', '1', '1', '0', '1', '0', 'up', 8], ['1', '0', '1', '1', '1', '1', '1', '1', '0', '1', '1', 'up', 7], ['0', '0', '0', '0', '1', '1', '1', '0', '1', '1', '1', 'down', 4], ['1', '1', '0', '1', '1', '0', '1', '0', '1', '1', '0', 'up', 4], ['1', '0', '1', '1', '0', '0', '1', '0', '1', '0', '1', 'down', 5], ['1', '1', '0', '1', '1', '1', '0', '0', '0', '0', '1', 'down', 5], ['1', '0', '1', '0', '0', '1', '0', '0', '1', '1', '0', 'down', 9], ['1', '1', '0', '1', '0', '0', '0', '1', '1', '0', '1', 'up', 5], ['1', '1', '0', '1', '1', '0', '0', '1', '0', '1', '1', 'up', 9], ['0', '1', '1', '0', '1', '1', '1', '1', '0', '0', '0', 'up', 2], ['1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '1', 'down', 6], ['0', '1', '0', '1', '1', '1', '0', '1', '0', '0', '1', 'up', 8], ['0', '0', '0', '1', '1', '1', '0', '0', '1', '1', '1', 'down', 2], ['0', '1', '1', '0', '0', '0', '1', '1', '1', '1', '1', 'down', 1], ['1', '0', '1', '0', '0', '1', '1', '1', '0', '0', '1', 'up', 8], ['1', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', 'down', 9], ['0', '1', '1', '1', '1', '0', '1', '0', '1', '1', '0', 'up', 9], ['0', '1', '1', '0', '1', '0', '1', '0', '0', '1', '0', 'down', 3], ['0', '0', '1', '0', '0', '1', '1', '0', '1', '1', '1', 'down', 3], ['0', '0', '0', '1', '1', '0', '1', '0', '1', '1', '0', 'up', 4], ['0', '1', '0', '1', '1', '0', '1', '0', '1', '1', '1', 'down', 1], ['0', '1', '1', '1', '0', '0', '0', '1', '1', '1', '0', 'down', 2], ['1', '0', '0', '1', '1', '1', '0', '1', '1', '0', '0', 'up', 4], ['0', '0', '1', '1', '1', '0', '0', '1', '1', '0', '1', 'up', 13], ['1', '1', '0', '1', '1', '1', '0', '1', '0', '0', '0', 'down', 6], ['1', '1', '1', '0', '1', '0', '0', '1', '1', '1', '0', 'up', 8], ['0', '0', '1', '0', '0', '0', '0', '1', '0', '0', '0', 'down', 8], ['0', '1', '1', '1', '0', '0', '0', '0', '1', '1', '0', 'down', 2], ['1', '1', '0', '0', '1', '1', '0', '1', '0', '0', '0', 'down', 7], ['0', '0', '0', '0', '0', '0', '0', '0', '1', '1', '0', 'down', 7], ['1', '1', '1', '0', '1', '1', '1', '0', '1', '1', '1', 'up', 10], ['0', '1', '0', '1', '1', '0', '0', '1', '0', '1', '1', 'up', 8], ['1', '0', '0', '0', '1', '1', '1', '0', '0', '1', '0', 'up', 1], ['0', '0', '1', '1', '1', '1', '0', '1', '1', '1', '0', 'up', 7], ['1', '0', '0', '1', '0', '1', '1', '1', '1', '0', '0', 'up', 4], ['1', '0', '1', '1', '1', '0', '1', '1', '0', '0', '1', 'up', 7], ['1', '0', '1', '1', '1', '0', '0', '1', '0', '0', '1', 'up', 5], ['0', '0', '0', '1', '0', '1', '1', '1', '1', '1', '1', 'up', 4], ['0', '1', '1', '0', '1', '0', '0', '0', '0', '0', '1', 'down', 6], ['1', '1', '0', '1', '1', '1', '1', '1', '1', '1', '1', 'up', 8], ['1', '1', '1', '1', '0', '0', '0', '0', '1', '1', '0', 'up', 7], ['1', '1', '0', '1', '0', '0', '1', '1', '0', '0', '1', 'up', 5], ['0', '0', '0', '0', '1', '0', '0', '1', '0', '1', '0', 'down', 5], ['1', '1', '1', '0', '0', '1', '0', '1', '1', '1', '0', 'up', 8], ['1', '1', '0', '1', '0', '0', '1', '0', '0', '0', '0', 'down', 14], ['1', '1', '0', '0', '1', '1', '1', '0', '1', '0', '0', 'up', 2], ['1', '0', '1', '1', '1', '0', '1', '1', '0', '0', '1', 'down', 2], ['1', '1', '1', '1', '1', '1', '1', '1', '1', '0', '0', 'up', 5], ['1', '1', '0', '0', '1', '0', '1', '1', '1', '1', '0', 'up', 4], ['1', '1', '1', '0', '0', '1', '0', '1', '0', '0', '1', 'down', 4], ['1', '1', '1', '0', '0', '0', '1', '1', '1', '0', '1', 'down', 3], ['1', '1', '1', '1', '1', '0', '0', '0', '0', '0', '1', 'down', 1], ['0', '0', '1', '0', '1', '0', '1', '0', '0', '0', '1', 'up', 2], ['1', '0', '0', '1', '1', '0', '1', '1', '0', '0', '0', 'down', 8], ['0', '1', '1', '0', '0', '0', '0', '1', '1', '0', '0', 'up', 4], ['0', '1', '1', '0', '0', '1', '0', '0', '0', '0', '0', 'down', 7], ['0', '0', '0', '1', '1', '0', '0', '1', '1', '0', '1', 'up', 5], ['1', '1', '0', '0', '0', '0', '1', '1', '0', '1', '0', 'down', 7], ['0', '1', '1', '1', '0', '1', '0', '1', '1', '1', '1', 'up', 11], ['0', '1', '1', '0', '1', '1', '1', '1', '0', '0', '1', 'up', 9], ['0', '0', '1', '0', '1', '1', '0', '1', '1', '0', '0', 'down', 4], ['0', '1', '0', '1', '0', '0', '1', '0', '0', '1', '0', 'up', 5], ['0', '1', '0', '1', '0', '1', '1', '0', '1', '0', '0', 'down', 8], ['0', '0', '0', '0', '0', '1', '1', '0', '0', '1', '1', 'up', 3], ['0', '0', '0', '1', '0', '0', '1', '1', '1', '0', '0', 'up', 3], ['1', '0', '1', '1', '1', '0', '0', '0', '1', '0', '1', 'up', 4], ['1', '1', '1', '1', '1', '0', '1', '0', '1', '0', '0', 'up', 8], ['1', '1', '0', '1', '1', '1', '0', '1', '0', '0', '1', 'down', 3], ['0', '0', '1', '1', '0', '1', '1', '1', '1', '0', '0', 'up', 2], ['1', '1', '1', '0', '1', '1', '1', '0', '0', '1', '1', 'up', 4], ['0', '1', '1', '0', '0', '1', '0', '1', '0', '0', '0', 'down', 6], ['1', '1', '1', '1', '0', '0', '0', '1', '1', '0', '0', 'down', 3], ['1', '1', '1', '0', '1', '0', '1', '1', '0', '0', '1', 'down', 4], ['0', '0', '1', '1', '0', '0', '1', '0', '1', '1', '0', 'down', 6], ['1', '1', '1', '0', '0', '1', '1', '0', '1', '0', '0', 'down', 9], ['0', '0', '1', '0', '1', '1', '0', '1', '1', '0', '1', 'up', 4], ['1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '0', 'up', 5], ['1', '1', '0', '0', '1', '1', '0', '1', '0', '1', '0', 'up', 7], ['1', '0', '0', '0', '1', '0', '1', '1', '0', '1', '1', 'down', 4], ['0', '1', '0', '1', '1', '1', '0', '0', '1', '0', '1', 'up', 10], ['1', '1', '0', '1', '0', '1', '0', '0', '0', '0', '1', 'down', 9], ['1', '0', '1', '1', '0', '0', '1', '1', '1', '0', '0', 'up', 1], ['0', '0', '1', '0', '1', '1', '1', '1', '1', '1', '1', 'up', 5], ['1', '0', '1', '1', '1', '1', '0', '0', '0', '0', '0', 'down', 8], ['1', '0', '1', '0', '0', '0', '0', '1', '1', '1', '1', 'up', 3], ['1', '0', '0', '0', '1', '1', '0', '0', '0', '1', '0', 'down', 6], ['0', '0', '1', '0', '1', '0', '0', '1', '1', '0', '1', 'down', 5], ['1', '0', '1', '1', '1', '1', '1', '0', '1', '1', '0', 'up', 6], ['1', '0', '1', '0', '1', '1', '1', '1', '1', '0', '1', 'up', 7], ['1', '0', '1', '1', '0', '0', '0', '1', '0', '1', '1', 'down', 2], ['0', '1', '0', '0', '1', '1', '1', '1', '0', '0', '0', 'down', 3], ['1', '0', '1', '1', '1', '0', '0', '1', '0', '0', '0', 'down', 4], ['0', '1', '1', '0', '1', '0', '0', '1', '1', '0', '0', 'down', 5], ['0', '0', '0', '0', '0', '0', '0', '1', '1', '1', '0', 'down', 11], ['1', '1', '0', '0', '1', '1', '0', '1', '1', '0', '0', 'up', 5], ['0', '1', '0', '0', '1', '1', '1', '1', '0', '1', '0', 'up', 9], ['1', '1', '0', '1', '1', '0', '0', '0', '1', '1', '0', 'up', 5], ['0', '1', '1', '0', '1', '0', '0', '1', '0', '0', '1', 'down', 5], ['1', '0', '1', '1', '0', '0', '1', '0', '0', '0', '0', 'up', 1], ['1', '1', '0', '0', '0', '1', '1', '0', '1', '1', '1', 'down', 3], ['1', '0', '0', '1', '0', '1', '1', '1', '0', '0', '1', 'down', 2], ['0', '0', '1', '0', '1', '0', '1', '1', '0', '0', '1', 'down', 9], ['0', '0', '0', '0', '1', '0', '1', '0', '1', '0', '0', 'down', 8], ['1', '0', '1', '1', '0', '1', '1', '0', '1', '0', '1', 'down', 3], ['1', '0', '0', '1', '1', '0', '1', '0', '0', '1', '0', 'down', 5], ['1', '1', '0', '0', '0', '1', '1', '1', '0', '0', '1', 'up', 6], ['1', '0', '1', '1', '0', '1', '1', '1', '0', '1', '1', 'up', 9], ['0', '1', '0', '0', '1', '1', '1', '1', '0', '0', '1', 'up', 5], ['0', '1', '0', '1', '0', '1', '1', '1', '0', '0', '1', 'down', 4], ['0', '0', '0', '1', '0', '0', '1', '0', '0', '1', '0', 'down', 8], ['1', '0', '1', '0', '1', '0', '1', '1', '1', '1', '0', 'down', 5], ['1', '0', '1', '0', '0', '1', '0', '0', '0', '1', '0', 'down', 5], ['1', '1', '1', '1', '1', '0', '1', '1', '0', '1', '0', 'up', 6], ['0', '1', '1', '0', '1', '0', '0', '0', '1', '1', '1', 'down', 4], ['0', '0', '1', '0', '0', '1', '1', '0', '0', '1', '1', 'down', 5], ['0', '0', '1', '1', '0', '0', '0', '1', '0', '0', '1', 'up', 3], ['0', '1', '0', '1', '0', '0', '0', '0', '1', '1', '1', 'up', 6], ['0', '1', '0', '1', '0', '0', '1', '0', '1', '0', '0', 'down', 8], ['0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '1', 'down', 5], ['1', '0', '0', '0', '1', '0', '1', '1', '0', '0', '0', 'up', 2], ['1', '0', '0', '1', '0', '0', '1', '0', '0', '1', '1', 'down', 9], ['0', '1', '1', '1', '0', '0', '0', '0', '0', '0', '0', 'down', 6], ['1', '1', '1', '0', '0', '0', '1', '0', '1', '0', '1', 'up', 5], ['0', '1', '0', '1', '0', '1', '1', '1', '0', '0', '0', 'up', 4], ['1', '0', '1', '1', '0', '1', '1', '1', '0', '1', '0', 'up', 7], ['1', '0', '0', '1', '1', '0', '1', '1', '1', '0', '1', 'down', 2], ['1', '0', '1', '1', '0', '1', '0', '0', '0', '1', '0', 'down', 7], ['0', '1', '1', '1', '1', '0', '1', '0', '0', '1', '0', 'down', 5], ['0', '1', '1', '0', '1', '0', '0', '0', '0', '0', '0', 'down', 2], ['0', '0', '1', '1', '0', '0', '0', '0', '0', '1', '0', 'down', 11], ['1', '1', '0', '0', '0', '0', '1', '1', '1', '0', '0', 'down', 8], ['0', '0', '0', '0', '1', '1', '0', '0', '1', '0', '0', 'up', 1], ['1', '0', '0', '0', '0', '0', '0', '1', '1', '0', '1', 'down', 9], ['1', '0', '0', '0', '0', '1', '0', '1', '1', '0', '1', 'up', 3], ['1', '1', '1', '0', '1', '1', '0', '1', '0', '1', '0', 'up', 14], ['1', '1', '1', '1', '0', '0', '0', '0', '1', '0', '0', 'up', 3], ['1', '0', '1', '1', '0', '0', '1', '1', '0', '1', '1', 'up', 5], ['1', '0', '0', '0', '1', '1', '0', '1', '1', '0', '1', 'up', 9], ['1', '0', '0', '0', '0', '1', '0', '1', '1', '0', '1', 'down', 10], ['1', '1', '1', '1', '0', '1', '0', '1', '0', '0', '0', 'down', 3], ['1', '0', '0', '0', '0', '1', '0', '0', '1', '1', '1', 'down', 6], ['0', '0', '1', '1', '0', '1', '1', '1', '0', '0', '1', 'down', 6], ['1', '1', '1', '1', '1', '0', '1', '0', '0', '0', '0', 'down', 4], ['1', '1', '0', '0', '1', '1', '0', '0', '1', '0', '0', 'down', 9], ['1', '1', '1', '1', '0', '0', '0', '1', '1', '0', '0', 'up', 6], ['0', '1', '0', '1', '0', '0', '1', '1', '0', '1', '0', 'down', 7], ['1', '0', '0', '0', '0', '1', '1', '0', '0', '0', '1', 'down', 8], ['0', '0', '1', '0', '1', '1', '1', '1', '0', '1', '0', 'up', 6]]

#this is the list I am looking for
listB = ['1', '0', '0', '0', '0', '1', '0', '1', '1', '0', '1']

#this is the method I am using to try and find the occurrence of `listB` in `listA`
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 occurrences 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(listB, listA))

The output I get proves that both instances of the list exist but I wish for a way for me to use the list with the most occurrences while at the same time identifying whether the string is "up" or "down". How can I do that?

#output
The 1st list appears in the 2nd one at index 579 with a number of occurrences equal to 10.
down
up
None

CodePudding user response:

I don't know if I got what you want, but If other than returning what you already return in your function, you also want to return the list with the highest number of occurrences, you can do that by appending to a list the list that you want to find everytime you find it, and then just return the list with the highest number of occurrences:

#this is the method I am using to try and find the occurrence of `listB` in `listA`
def fl1(list1, list2):
    found_lists = [] #The instances of the list you want to find
    index = -1
    occ = 0
    for i, l in enumerate(list2):
        if l[:len(list1)] == list1:
            if l[-1] > occ:
                index = i
                occ = l[-1]
                found_lists.append(l) #Add the list to the found lists
    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 occurrences 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(f"Lists found: {found_lists}")
        print(f"List with maximum occurrence: {max(found_lists, key=lambda x: x[-1])}") #Print the list with the maximum number of occurrences, that is expressed by the last element of the list.

print(fl1(listB, listA))

The code prints the following:

The 1st list appears in the 2nd one at index 224 with a number of occurrences equal to 10.
down
up
Lists found: [['1', '0', '0', '0', '0', '1', '0', '1', '1', '0', '1', 'up', 3], ['1', '0', '0', '0', '0', '1', '0', '1', '1', '0', '1', 'down', 10]]
List with maximum occurrence: ['1', '0', '0', '0', '0', '1', '0', '1', '1', '0', '1', 'down', 10]
None

Of course, if you want to use the list, just return it instead of printing it.

CodePudding user response:

The simplest change would be to store it in a variable:

direction = None
if l[-1] > occ:
    index = i
    occ = l[-1]
    direction = l[-2]
    found_lists.append(l) #Add the list to the found lists

At the end the direction will contain what you are searching for.

  • Related