def search(arr, symb0, symb1 = ""):
BefArr = arr[:(arr.index(symb0) + 1)] #symbols before symb0
AftArr = arr[(arr.index(symb0)+1):] #symdols after symb0 #symbols between symb0 and symb1
if symb1 != "": #BetArr symbols between symb0 and symb1
if symb1 in AftArr: BetArr = AftArr[:arr.index(symb1)]
else: BetArr = arr[:]
else: BetArr = None
Такая конструкция будет работать для всего непусторго - строки, числа(не ноль), boolean(True), непустого списка, непустого словарь и т.д.
BetArr у вас может быть списком и None. Это нехорошо, рекомендую использовать пустой список вместо None.
И не лепите if/else на одну стороку с кодом. Это менее читабельно.
А вот как применить здесь кодНет, не ошибаетесь. А вам был нужен модуль или работающая программа? Я думал, что и то и другое. Вот я и показал, как сделать из вашего модуля работающую программу.я не совсем понял, а вернее, совсем не понял. Насколько я знаю, такие конструкции применяют в случае, если нужно сделать модуль скриптом. Я ошибаюсь?def main(argv):
....
if __name__ == '__main__':
sys.exit(main(sys.argv))