20
To remove all empty strings,
[s for s in list_of_strings if s]
To get the first non-empty string, simply create this list and get the first element, or use the lazy method as suggested by wuub.
to get the first non empty string in a list, you just have to loop over it and check if its not empty. that's all there is to it.
arr = ['','',2,"one"]
for i in arr:
if i:
print i
break
Based on your question I'll have to assume a lot, but to "get" the first non-empty string:
(i for i, s in enumerate(x) if s).next()
which returns its index in the list. The 'x' binding points to your list of strings.