Assuming I understand you correctly, I would recommend a dict
:
def branchFinder(L, S, r):
S, L = map(list, zip(*sorted(zip(S, L))))
SS = [0.] + map(lambda x: x/10., S)
probs = {}
for i in range(len(L)):
probs[L[i]] = (sum(SS[:i+1]), SS[i+1] + sum(SS[:i+1]))
for key, value in probs.iteritems():
if value[0] < r <= value[1]:
return key