s = '##########\n####0##0##\n00##0###00\n0123456789'
sArray = s.split('\n') # делим исходную строку по строкам
arr = [[0 for j in range(len(sArray))] for i in range(len(sArray[0]))] # создаём двумерный массив, где количество элементов в arr = длине 1 строки
countMax = 1 # максимум '0' в столбце
countBMin = len(sArray[0]) # минимум '#' в столбце
column = -1 # столбец
for i in range(len(sArray)):
for j in range(len(sArray[0])):
arr[j][i] = sArray[i][j] # создаём массив из массивов столбцов
for i in range(len(arr)):
count = arr[i].count('0') # считаем кол-во '0' в столбце
countB = arr[i].count('#') # считаем кол-во '#' в столбце
if (count >= countMax and countB < countBMin): # кол-во '0' должно быть наибольшим, а кол-во '#' - наименьшим
countMax = count
countBMin = countB
column = i
print(column)