Я работал над списками в python 3. Когда я столкнулся с этим поведением, которое я не понимаю. Будем рады узнать от кого-то, почему это происходит.
>>> chess_board = [[(i,j) if(i not in (0,7) and j not in (0,7)) else '—-' for i in range(8)] for j in range(8)]
>>> # **behavior 1** : using for loop to print
>>> for row in chess_board:
... print(row)
...
['—-', '—-', '—-', '—-', '—-', '—-', '—-', '—-']
['—-', (1, 1), (2, 1), (3, 1), (4, 1), (5, 1), (6, 1), '—-']
['—-', (1, 2), (2, 2), (3, 2), (4, 2), (5, 2), (6, 2), '—-']
['—-', (1, 3), (2, 3), (3, 3), (4, 3), (5, 3), (6, 3), '—-']
['—-', (1, 4), (2, 4), (3, 4), (4, 4), (5, 4), (6, 4), '—-']
['—-', (1, 5), (2, 5), (3, 5), (4, 5), (5, 5), (6, 5), '—-']
['—-', (1, 6), (2, 6), (3, 6), (4, 6), (5, 6), (6, 6), '—-']
['—-', '—-', '—-', '—-', '—-', '—-', '—-', '—-']
>>> # **behavior 2** using list comprehension
>>> [print(row) for row in chess_board]
['—-', '—-', '—-', '—-', '—-', '—-', '—-', '—-']
['—-', (1, 1), (2, 1), (3, 1), (4, 1), (5, 1), (6, 1), '—-']
['—-', (1, 2), (2, 2), (3, 2), (4, 2), (5, 2), (6, 2), '—-']
['—-', (1, 3), (2, 3), (3, 3), (4, 3), (5, 3), (6, 3), '—-']
['—-', (1, 4), (2, 4), (3, 4), (4, 4), (5, 4), (6, 4), '—-']
['—-', (1, 5), (2, 5), (3, 5), (4, 5), (5, 5), (6, 5), '—-']
['—-', (1, 6), (2, 6), (3, 6), (4, 6), (5, 6), (6, 6), '—-']
['—-', '—-', '—-', '—-', '—-', '—-', '—-', '—-']
[None, None, None, None, None, None, None, None]
>>>
Почему есть печать строк [Нет, Нет, Нет, Нет, Нет, Нет, Нет, Нет, Нет, Нет] при печати с использованием списка?