Возможно, лучше всего объяснить на примере:
print "".join([e[1] * e[0] for e in elt])
является краткой формой
x = []
for e in elt:
x.append(e[1] * e[0])
print "".join(x)
Понимания списка - просто синтаксический сахар для циклов for
, которые делают выражение из последовательности операторов.
elt
может быть произвольным объектом, так как вы загружаете его из солений, и e
также. Использование предполагает, что это тип sequence , но это может быть что угодно, что реализует протокол последовательности.