Я пытаюсь понять разницу между следующими двумя фрагментами кода. Второй просто печатает генератор, но первый фрагмент расширяет его и разделяет генератор. Почему это происходит?
Это потому, что две квадратные скобки расширяют любой повторяемый объект?
#Code snippet 1
li=[[1,2,3],[4,5,6],[7,8,9]]
for col in range(0,3):
print( [row[col] for row in li] )`
Output:
[1, 4, 7]
[2, 5, 8]
[3, 6, 9]
#Code snippet 2
li=[[1,2,3],[4,5,6],[7,8,9]]
for col in range(0,3):
print( row[col] for row in li )
выход
<generator object <genexpr> at 0x7f1e0aef55c8>
<generator object <genexpr> at 0x7f1e0aef55c8>
<generator object <genexpr> at 0x7f1e0aef55c8>
Почему вывод двух вышеприведенных кавычек отличается?