2010-03-09 6 views
3

Я ищу удобный способ создания списка списков, для которых списки из списка имеют последовательные номера. До сих пор я только придумал очень неудовлетворительным решением грубой силы типирование (да правильно, я просто использую питон в течение нескольких недель):Создание списка списков с последовательными номерами

block0 = [] 
... 
block4 = [] 

blocks = [block0,block1,block2,block3,block4] 

Я признателен за любую помощь, которая работает с чем-то вроде nrBlocks = 5.

+0

Где 'block3'? – kennytm

+0

просто забыл, но отредактировал. – Henrik

ответ

5

Это не ясно, что последовательные номера вы говорите, но ваш код переводится в следующий идиоматических Python:

[[] for _ in range(4)]   # use xrange in python-2.x 
+0

Я хотел получить доступ к подспискам через имя (т. Е. Block3), но, подумав об этом во второй раз, я понял, что доступ к ним как к блоку [3] в основном тот же. Поскольку каждый подсписок все еще может иметь разную длину, а не массив, как, например, C. – Henrik

+0

Даже в C вы можете иметь массив указателей для массивов разного размера. –

+0

Ты один на один. Вы хотите диапазон (5) –

0

Не делать это таким образом. Поместите это в blocks на первое место:

blocks = [ 
    [ ... ], 
    [ ... ], 
    [ ... ], 
    [ ... ] 
] 
Смежные вопросы