Понимание вложенного списка с двумя списками

Я понимаю, как работает простое понимание списка, например:

[x*2 for x in range(5)] # returns [0,2,4,6,8]

а также я понимаю, как работает понимание вложенного списка:

w_list = ["i_have_a_doubt", "with_the","nested_lists_comprehensions"]

# returns the list of strings without underscore and capitalized
print [replaced.title() for replaced in [el.replace("_"," ")for el in w_list]]

поэтому, когда я попытался сделать это

l1 = [100,200,300]
l2 = [0,1,2]
[x + y for x in l2 for y in l1 ]

Я ожидал этого:

[101,202,303]

но я получил это:

[100,200,300,101,201,301,102,202,302]

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

[x + y for x,y in zip(l1,l2)]

но я неt понял возвращение 9 элементов в первом коде

Ответы на вопрос(5)

Ваш ответ на вопрос