Typeerror float object is not subscriptable

Вот часть моего кода: —

Я получаю следующее сообщение об ошибке: —

Хотя я использую words_posscore как словарь и настрою его, я не знаю, почему он рассматривает это объект типа вместо Dict.

Я уже прочитал ответы на следующие вопросы: —

Ошибка не приходит от использования в words_posscore качестве словаря; она исходит от использования в float качестве словаря. Очевидно, что это тип, а не ДИКТ.

Вы, вероятно, имел в виду:

Обратите внимание, что ваша init функция не делает абсолютно ничего , и должна быть удалена. Кроме того , не ясно , почему вы определяете words_posscore и words_pos дважды.

Ошибка в строке: words_posscore[row[0]]=float[row[1]]

попробовать: float[‘123’] вы получите ту же ошибку:

Что касается Вашего вопроса:

Хотя я использую words_posscore как словарь и настрою его, я не знаю, почему он рассматривает это объект типа вместо Dict.

Сообщение об ошибке для РИТ (Правая сторона) уступки и не LHS в words_posscore[row[0]]=float[row[1]] .

Поэтому питон не считая его тип объекта вместо Dict.

Надеюсь, что проясняет его 🙂

Общие рекомендации: когда линия как это причиняет вам неприятности, разбить его на части , чтобы увидеть , какой кусок кода на самом деле вызывает проблему.

Ваша проблема есть, потому что вы пытаетесь использовать поплавок, который является типом, как словарь. Чтобы исправить это, измените строку на:

Что же касается моего совета ранее, вы можете увидеть, что если бы вы отделено линию в 2 строки:

Вы могли заметить ваш misake кашицу проще 🙂

Милхаузу необходимо на завтра решить задачу, и ему нужна Ваша помощь.
Вот задача:

Задана строка, состоящая из скобок. Необходимо превратить ее в
правильную строку, вставляя как можно меньшее количество скобок в
любую позицию (удалять или изменять существующие скобки нельзя).
Правильной является строка, которая удовлетворяет следующим правилам:

  • Пустая строка правильная.
  • Если s правильная, то (s) также правильная.
  • Если s и t правильные, то их конкатенация st правильная.
Читайте также:  Voip шлюз cisco spa122

Например, «(()())», «» и «(())()» правильные строки, а «())(«, «()(» и
«)» — нет.

Входные данные

Задана строка из скобок, которая содержит от 1 до 50 символов
включительно.

Выходные данные

Вывести наименьшее количество скобок, которое следует вставить для
того чтобы входная строка стала правильной.

Basically I have an input that a user will put a number values (float input) into, then it will set all of these aforementioned list indexes to that value. For some reason I can’t get it to set them without coming up with a:

error. Am I doing something wrong or am I just looking at it the wrong way?

5 Answers 5

PriceList[0] is a float. PriceList[0][1] is trying to access the first element of a float. Instead, do

This says: go to the 1st item of my collection PriceList . That thing is a collection; get its 2nd item. That thing is a collection; get its 3rd.

Instead, you want slicing:

It looks like you are trying to set elements 0 through 11 of PriceList to new values. The syntax would usually look like this:

If they are always consecutive ranges, then it’s even simpler to write:

For reference, PriceList[0][1][2][3][4][5][6] refers to "Element 6 of element 5 of element 4 of element 3 of element 2 of element 1 of element 0 of PriceList . Put another way, it’s the same as ((((((PriceList[0])[1])[2])[3])[4])[5])[6] .