Здравствуйте.
В ANSI C есть возможность создавать хитрые циклы вида for(int i=0, int j=30; i<20, j>=5; i++) (пример из головы, особо не вдумывайтесь)
Как на пайтоне реализовать подобные извращения?
Заранее спасибо.
#define ROW_COUNT 35 // количество строк
#define COL_COUNT 24 // количество столбцов
for (int j=ROW_COUNT-1;j>=0;j--)
{
for (int i=14;i>=0;i--)
{
printf(formatString,Amplitudes[i][j]);
}
for (int i=COL_COUNT-1;i>14;i--)
{
printf(formatString,Amplitudes[i][j]);
}
printf("\n");
ROW_COUNT = 35
COL_COUNT = 24
for j in xrange(ROW_COUNT-1,-1,-1):
for i in xrange(14,-1,-1):
print i,j
for i in xrange(COL_COUNT-1,-1,-1):
print i, j
ofigetitelnoчерт возьми, именно так я и сделал, но этот цикл выводит на экран, а не в 2-х мерный список, индексируемый отдельно. :-)
:)
можно так попробовать, если ничего интереснее в голову не приходит:ROW_COUNT = 35
COL_COUNT = 24
for j in xrange(ROW_COUNT-1,-1,-1):
for i in xrange(14,-1,-1):
print i,j
for i in xrange(COL_COUNT-1,-1,-1):
print i, j
#define ROW_COUNT 35 // количество строк
#define COL_COUNT 24 // количество столбцов
int newArr[COL_COUNT][ROW_COUNT]
for (int j=ROW_COUNT-1, int k=0 ; j>=0, k < ROW_COUNT; j--, k++)
{
for (int i=14, int m=0; i>=0, m < 14 ; i--, m++)
{
newArr[m][k] = Amplitudes[i][j];
}
for (int i=COL_COUNT-1, int m=14; i>14, m < COL_COUNT ;i--, m++)
{
newArr[m][k] = Amplitudes[i][j];
}
}
ROW_COUNT = 35
COL_COUNT = 24
newArr = [[None for x in xrange(ROW_COUNT)] for y in xrange(COL_COUNT)]
for j, k in zip(xrange(ROW_COUNT-1,-1,-1), xrange(ROW_COUNT)):
for i, m in zip(xrange(14,-1,-1), xrange(14)):
newArr[m][k] = (i, j)
for i, m in zip(xrange(COL_COUNT-1,13,-1), xrange(14, COL_COUNT)):
newArr[m][k] = (i, j)