2017-01-26 18 views
0

Для уточнения и упрощения: У меня есть следующий файлперезапись значения поля в файл Python: ошибка Object Строки

0,Genre, Title, Rating, Likes 
    1,Sci-Fi,Out of the Silent Planet, PG, 0 
    2,Sci-Fi,Solaris, PG,0 

код ниже стремится INCREMENT числа подобных для конкретного фильма. Мне удалось вытащить соответствующую строку (на основе параметра из предыдущей функции), но теперь мне нужно знать, как манипулировать значением в списке и добавлять к нему.

Таким образом, в строке (который был прочитан в списке) текущие Понравилось следующим образом, значение является в настоящее время «0»

currentlikes=[row[4]] 

Ниже, будет изменить значение в списке " 2 "

currentrow[0][4]=2 

Я хочу, однако, изменить значение, сохраненное в соответствующем поле (в этой строке) на +1. Мне нужно знать, как переписать этот код, чтобы заставить его работать

currentrow[0][4]=[row[4]]+1 

Я также попытался:

currentrow[0][4]=currentlikes+1 

Сообщение об ошибке было:

currentrow[0][4]=currentlikes+1 
    TypeError: can only concatenate list (not "int") to list 
+0

Неконструктивно - я не знаю, как работать с этой строкой, поэтому я задал вопрос. Кроме того, для записи понравившиеся функции [x] [3] = вроде отлично работают (он присваивает номер). Однако я хочу знать, как заставить его преобразовать в целое число и позволить мне увеличиваться. i.e currentlikes + 1 –

+0

Ну, теперь это вы полностью изменили вопрос, мой комментарий предыдущий действительно больше не применяется. Но в качестве примечания: предыдущее сообщение об ошибке было совершенно ясным. – dhke

ответ

0

Строки неизменны в питона , попробуйте

likedfilms[x]=likedfilms[x][:2]+str(like)+likedfilms[x][3:]

или

likedfilms[x] = "%s%d%s" % (likedfilms[x][:2], like, likedfilms[x][3:])

Кстати, это действительно странно, что вы используете likedfilms, прежде чем объявить его несколько строк позже :)

  • ^^ [Примечание: Я шел этот комментарий вниз ниже] *
+1

Я просто собираюсь проверить, работает ли это. Не могли бы вы пояснить, что вы имеете в виду в моей декларации? Насколько я могу видеть, понравившиеся фильмы объявляются (как список) в коде: lovedfilms = [row [2]] ...... а затем он используется в следующей строке: print («Вам понравилось: ", lovedfilms) ? Что значит, что он используется до его объявления ...? Заранее спасибо –

+0

Не могли бы вы объяснить логику вашего кода? Что это делает ... Я не могу следовать. Кроме того, он вызывает эту ошибку: любимые_фильмы [x] = lovedfilms [x] [: 2] + like + lovedfilms [x] [3:] TypeError: Невозможно преобразовать объект 'int' в str неявно –

+0

Хорошо, дальше просматривая, я вижу, что вы на самом деле этого не делаете. форматирование смутило меня и заставило меня думать, что вы использовали форму значения предыдущей итерации цикла. "Продолжать!" :) –

 Смежные вопросы

  • Нет связанных вопросов^_^