Добавление списка списков к списку и очистка исходного списка списков

#python-3.x #list

#python-3.x #Список

Вопрос:

У меня есть for цикл, который добавляет списки к списку, а затем добавляет этот список к другому списку, предоставляя список списков следующим образом:

 list_1 = [1,2]
list_2 = [3,4,765]
list_3 = [0.3,-2.32]

list_of_lists = []
list_of_lists.append(list_1)
list_of_lists.append(list_2)
list_of_lists.append(list_3)

list_of_list_of_lists = []
list_of_list_of_lists.append(list_of_lists)
  

Затем я пытаюсь очистить list_of_lists переменную с помощью,

 list_of_lists.clear()
  

но, к сожалению, это также удаляет list_of_lists из list_of_list_of_lists . Есть ли какой-либо способ очистить list_of_lists себя, но сохранить все в list_of_list_of_lists неизменном виде?

Комментарии:

1. list_of_list_of_lists.append(list_of_lists.copy())

2. Или list_of_lists = [] , если он больше нигде не использовался до этого момента. Кстати, ваш второй блок кода может быть записан как list_of_lists = [list_1, list_2, list_3] .

Ответ №1:

Если вы будете использовать ‘ list_of_lists.clear()’ в конце вашего скрипта, он не будет пустым, и вы можете использовать его повторно.

Например :

 list_1 = [1,2]
list_2 = [3,4,765]
list_3 = [0.3,-2.32]

list_of_lists = [list_1 , list_2 , list_3]

list_of_list_of_lists = [list_of_lists.copy()]

print(list_of_list_of_lists)
# or do whatever you need to do 

list_of_lists.clear()

list_of_list_of_lists.append('just_test')

print(list_of_list_of_lists)
  

Результатом будет :

 [[[1, 2], [3, 4, 765], [0.3, -2.32]]]
[[[1, 2], [3, 4, 765], [0.3, -2.32]], 'just_test']