Find (Start:End) Positions That Sublists Occur Within A List . Python
If one had a long list of numbers:
example=['130','90','150','123','133','120','160','45','67','55','34']
and sub lists within the list like
sub_lists=[['130','90','150'],['90','150'],['120','160','45','67']]
how would you generate a function that takes these sublists and gives you the positions that they occurred in the original string? to get the results:
results=[[0-2],[1-2],[5-8]]
I was trying something along the lines of
example=['130','90','150','123','133','120','160','45','67','55','34']
sub_lists=[['130','90','150'],['90','150'],['120','160','45','67']]
for p in range(len(example)):
for lists in sub_lists:
if lists in example:
print p
but that was not working?
• 7,900 views
•
link
1 answer
I agree with Neil about it being basic programming question. A lot of these algorithm questions can be solved pretty easily if you just read up on the python native functions. For example, you can use the list.index(value) method to find index of a value in a list:
example=['130','90','150','123','133','120','160','45','67','55','34']
sub_lists=[['130','90','150'],['90','150'],['120','160','45','67']]
result = []
for sub in sub_lists:
result.append([example.index(sub[0]),example.index(sub[-1])])
print result
• 0 views
•
link
Log in to answer this question.
As it stands, this is a basic Python programming question, better suited to stackoverflow.com. Is there relevance to a bioinformatics problem?
Something similar was closed yesterday http://biostar.stackexchange.com/questions/15328/find-4-values-in-window-size-6-that-fit-criteria-add-to-list-until-3-do-not-fi
STACKOVERFLOW is the place for such questions.
agreed, closed because no obvious relation to bioinformatics