2016-05-29 3 views
-4

Я проходил через скрипт Python, и я не мог очень хорошо понять эту часть кода. Первой частью кодовой части являются следующие декларации:Что означают эти утверждения?

image_paths = [] 
image_classes = [] 
class_id = 0 

Эти декларации ясны до сих пор.

Затем он входит в для цикла, в котором я не мог понять эту часть:

image_classes+=[class_id]*len(class_path) 
class_id+=1 

Что может быть смысл этого кода части?

Спасибо.

+2

Добавление в список и увеличение числа? –

+0

Что происходит с содержимым этих переменных при запуске этих строк кода? – Sayse

+0

У вас есть ссылка на конкретный скрипт? (В противном случае опубликуйте фрагмент фактического кода). Я мог бы написать ответ, объясняющий технически, что это делает, но я сомневаюсь, что это поможет вам понять **, почему ** это относится к этому сценарию. –

ответ

1

В целом x += y является аббревиатурой от x = x + y. Аналогичным образом существует -=, *= и несколько других таких операторов.

Умножение списка, кортежа или строки на число аналогично умножению числа на число. Это повторное дополнение.

Добавление двух списков вместе, как добавление двух строк вместе: это конкатенация. Стороны склеиваются в один вариант.

len возвращает длину (размер) коллекции, такую ​​как список.

>>> x = 3 
>>> x += 2 
>>> x 
5 
>>> [1, 5] + [4, 2] 
[1, 5, 4, 2] 
>>> [9] * 3 
[9, 9, 9] 
>>> len([8, 8, 6, 9, 2, 1]) 
6 

Очень важная часть изучения кода - это возиться с вещами и видеть, что происходит. Удостоверьтесь в оболочке python. Попробуйте вещи. Ищите шаблоны. Поинтересуйтесь.

Также полезно вставлять print заявления везде, чтобы узнать, какие значения переменных и как они меняются.

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