Добрый день!
Я до сих пор пытаюсь разобраться с получением номера элемента многомерного массива.
Кусок кода, где это применяется:
mls_scc = LearnMaxLevelDataArray("school")
for rowm, index in mls_scc:
if row['gender'] == "M":
input_ssc_level = rd[rowm[1][0].index(index)].value
if row['gender'] == "F":
input_ssc_level = rd[rowm[0][0].index(index)].value
maxlevelbalance = 100 - input_ssc_level #Получает баланс уровня от максимального уровня критерии
userlevelbalance = 100 - row['ssc_p']
if maxlevelbalance > userlevelbalance:
levelbalance = maxlevelbalance - userlevelbalance #Подсчитываем баланс от уровня
if maxlevelbalance < userlevelbalance:
levelbalance = userlevelbalance - maxlevelbalance
for rowms, index in mlsb.iterrows():
if levelbalance == rowms[index] or levelbalance > rowms[index]:
#Если текущий баланс уровня соответствует нужным критериям, то система для списка успешных выпускников оставит уровень школьных знании, которого добился выпускник
sgl['profile']['info']['school'] = row['ssc_p']
LearnMaxLevelDataArray-сама функция реализованная мной, которая состоит из многомерных массивов и отбирает по ключу коды ячеек таблицы Excel для выборки максимальных значенй.
И компилятор принёс немного сюпризов:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
in
43
44 if row['gender'] == "M":
---> 45 input_ssc_level = rd[rowm[1][0].index(index)].value
46 if row['gender'] == "F":
47 input_ssc_level = rd[rowm[0][0].index(index)].value
TypeError: must be str, not list
Внутри [] я применил метод index для получения номера элемента массива.
Он требует, чтобы функция была списком, а код функции я пришлю в комментариях к вопросу.
Как Python может правильно получить номер элемента многомерных массивов?