LINUX.ORG.RU

История изменений

Исправление Psych218, (текущая версия) :

Только не понятно, strip() лучше count()?

Мне кажется более очевидным, потому что не требуется какой-то левый lenght.

И совсем не понятно по столбцам. вот этот участок: ".join(result[j] for i in range(length)) for j in range(length)].

Там result[j], а не result[j]. И вроде довольно очевидно же, даже не знаю, как объяснять, когда кажется и так понятным… Ну это в итоге становится

"".join(result[i][j] for i in range(3)) for j in range(3))
То есть:
"".join(result[i][j] for i in (0,1,2)) for j in (0,1,2))
то есть

"".join(result[i][0] for i in (0,1,2),
"".join(result[i][2] for i in (0,1,2),
"".join(result[i][3] for i in (0,1,2)

то есть

"".join((result[0][0], result[1][0] result[2][0])),
"".join((result[0][1], result[1][1] result[2][1])),
"".join((result[0][2], result[1][2] result[2][2]))

То есть, собственно, столбцами, представленными в виде строк. По сути то же, что и было у тебя, только без temp и генераторами (для меня, как уже для привыкшего к генераторам, так даже понятнее, на самом деле).

P.S. А, блин, я там с выравниванием напутал (хз, как вышло), это сбило с толку тебя, наверное. На работоспособность не влияет, но ухудшает читаемость. Должно быть так:

    to_check += [''.join(result[i][j] for i in range(length))
                 for j in range(length)]

Исправление Psych218, :

Только не понятно, strip() лучше count()?

Мне кажется более очевидным, потому что не требуется какой-то левый lenght.

И совсем не понятно по столбцам. вот этот участок: ".join(result[j] for i in range(length)) for j in range(length)].

Там result[j], а не result[j]. И вроде довольно очевидно же, даже не знаю, как объяснять, когда кажется и так понятным… Ну это в итоге становится

"".join(result[i][j] for i in range(3)) for j in range(3))
То есть:
"".join(result[i][j] for i in (0,1,2)) for j in (0,1,2))
то есть

"".join(result[i][0] for i in (0,1,2),
"".join(result[i][2] for i in (0,1,2),
"".join(result[i][3] for i in (0,1,2)

то есть

"".join((result[0][0], result[1][0] result[2][0])),
"".join((result[0][1], result[1][1] result[2][1])),
"".join((result[0][2], result[1][2] result[2][2]))

То есть, собственно, столбцами, представленными в виде строк. По сути то же, что и было у тебя, только без temp и генераторами (для меня, как уже для привыкшего к генераторам, так даже понятнее, на самом деле).

P.S. А, блин, я там с выравниванием напутал (не очень удобно делать это на лоре, надо было в виме), это сбило с толку тебя, наверное. Должно быть так:

    to_check += [''.join(result[i][j] for i in range(length))
                 for j in range(length)]

Исправление Psych218, :

Только не понятно, strip() лучше count()?

Мне кажется более очевидным, потому что не требуется какой-то левый lenght.

И совсем не понятно по столбцам. вот этот участок: ".join(result[j] for i in range(length)) for j in range(length)].

Там result[j], а не result[j]. И вроде довольно очевидно же, даже не знаю, как объяснять, когда кажется и так понятным… Ну это в итоге становится

"".join(result[i][j] for i in range(3)) for j in range(3))
То есть:
"".join(result[i][j] for i in (0,1,2)) for j in (0,1,2))
то есть

"".join(result[i][0] for i in (0,1,2),
"".join(result[i][2] for i in (0,1,2),
"".join(result[i][3] for i in (0,1,2)

то есть

"".join((result[0][0], result[1][0] result[2][0])),
"".join((result[0][1], result[1][1] result[2][1])),
"".join((result[0][2], result[1][2] result[2][2]))

То есть, собственно, столбцами, представленными в виде строк. По сути то же, что и было у тебя, только без temp и генераторами (для меня, как уже для привыкшего к генераторам, так даже понятнее, на самом деле).

Исправление Psych218, :

Только не понятно, strip() лучше count()?

Мне кажется более очевидным, потому что не требуется какой-то левый lenght.

И совсем не понятно по столбцам. вот этот участок: ".join(result[j] for i in range(length)) for j in range(length)].

Там result[j], а не result[j]. И вроде довольно очевидно же, даже не знаю, как объяснять, когда кажется и так понятным… Ну это в итоге становится

"".join(result[i][j] for i in range(3)) for j in range(3))
То есть:
"".join(result[i][j] for i in (0,1,2)) for j in (0,1,2))
то есть

"".join(result[i][0] for i in (0,1,2),
"".join(result[i][2] for i in (0,1,2),
"".join(result[i][3] for i in (0,1,2)

то есть

"".join((result[0][0], result[1][0] result[2][0])),
"".join((result[0][1], result[1][1] result[2][1])),
"".join((result[0][2], result[1][2] result[2][2]))

То есть, собственно, столбцами, представленными в виде строк. По сути то же, что и было у тебя, только без temp и генераторами (для меня, как уже для привыкшего к генераторам, так даже понятнее, на самом деле).

Исходная версия Psych218, :

Только не понятно, strip() лучше count()?

Мне кажется более очевидным, потому что не требуется какой-то левый lenght.

И совсем не понятно по столбцам. вот этот участок: ".join(result[j] for i in range(length)) for j in range(length)].

Там result[j], а не result[j]. И вроде довольно очевидно же, даже не знаю, как объяснять, когда кажется и так понятным… Ну это в итоге становится

"".join(result[i][j] for i in range(3)) for j in range(3))
То есть:
"".join(result[i][j] for i in (0,1,2)) for j in (0,1,2))
то есть

"".join(result[i][0] for i in (0,1,2),
"".join(result[i][2] for i in (0,1,2),
"".join(result[i][3] for i in (0,1,2)

то есть

"".join((result[0][0], result[1][0] result[2][0])),
"".join((result[0][1], result[1][1] result[2][1])),
"".join((result[0][2], result[1][2] result[2][2]))

То есть, собственно, столбцами.