Итерация через многомерный массив в Python

В моем случае имя connectionString в файле web.config было написано неправильно. Это имя контекста базы данных, который использует Entity Framework. Я предполагаю, что это ошибка, которую вы получаете, когда EF не может сопоставить имя connectionString с контекстом.

29
задан utdiscant 9 June 2009 в 18:18
поделиться

3 ответа

Понятно, что вы используете numpy. С помощью numpy вы можете просто сделать:

for cell in self.cells.flat:
    do_somethin(cell)
41
ответ дан 28 November 2019 в 00:40
поделиться

Просто выполните итерацию по одному измерению, а затем по другому.

for row in self.cells:
    for cell in row:
        do_something(cell)

Конечно, имея только два измерения, вы можете сжать это до одного цикла, используя понимание списка или выражение генератора, но это не очень масштабируемое или читаемое:

for cell in (cell for row in self.cells for cell in row):
    do_something(cell)

Если вам нужно масштабировать его до нескольких измерений и действительно нужен плоский список, вы можете написать функцию сглаживания .

15
ответ дан 28 November 2019 в 00:40
поделиться

Как насчет этого:

import itertools
for cell in itertools.chain(*self.cells):
    cell.drawCell(surface, posx, posy)
6
ответ дан 28 November 2019 в 00:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: