2015-11-30 7 views
1

Извините, если об этом ответили ранее, но я не мог найти аналогичный вопрос здесь.Как создать список пустых списков

Я довольно новыми для Python и я пытаюсь создать следующим образом:

list1 = [] 
list2 = [] 
results = [list1, list2] 

Этот код работает абсолютно нормально, но мне было интересно, есть ли более быстрый способ сделать это в одной строке ,

Я попытался следующие, который не работает, но я надеюсь, что он демонстрирует такую ​​вещь, что я после:

result = [list1[], list2[]] 

Кроме того, с точки зрения сложности, будет иметь его на одной линии действительно имеет значение? Или это будет три задания в любом случае?

+1

результаты = [list1, песни2] = [[], []] – wim

ответ

1

Для создания определенного количества списков вручную, это было бы хорошо:

empty_list = [ [], [], ..... ] 

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

empty_lists = [ [] for i in range(n) ] 
2

Если вы хотите Однострочник вы можете просто сделать:

result = [[],[]] 
+1

Также 'результат = [список(), список()]', но только наконечник, '[[ ], []] 'более ясно. –

+0

Отлично, спасибо всем. В качестве дополнения к этому, если у меня есть список списков следующим образом: 'list = [[firstName, 1,], [secondName, 2], [thirdName, 3]]' Как я могу получить доступ только к фактические цифры? Так, например, если бы я хотел, чтобы выяснить, наибольшее количество из: 'список [0] [1] список [1] ​​[1] список [2] [1]' Что бы команда для этого? Предположительно, что-то делать с 'max()'? –

+0

@daemon_headmaster, который должен быть опубликован как целый другой вопрос, но вы можете сделать это следующим образом: 'max ([i [1] для i в списке])' – dietbacon

2

Для произвольных списков длины, вы можете использовать [ [] for i in range(N) ]

ли не Использовать [ [] ] * N, поскольку это приведет к списку содержащие объект же списокN раз

Смежные вопросы