2015-09-08 4 views
0

Это из codecademy, он продолжает говорить мне, что square_list - это не та же длина, что и start_list (это должно быть), и он также не сортирует его даже то я звоню роды на square_list (должно вызвать его на square_list не может сделать это с start_list)Python, проблема с циклом и списком не может понять это

start_list = [5, 3, 1, 2, 4] 
square_list = [] 

square_list.append(start_list) 
square_list.sort() 

for start_list in square_list: 
    print square_list 
+0

У вас есть несколько странностей и ошибок здесь. Я предлагаю вернуться и перечитывать уроки, которые вы не вполне понимаете. – TigerhawkT3

+0

Почему вы создаете второй список? Также я предполагаю, что вы хотите продлить не append –

+0

, это говорит мне об этом – Karl

ответ

1

вызов append() функции в этом случае присоединяет весь список start_list к square_list что привело бы к чему-то подобный [[5, 3, 1, 2, 4]]. Используйте оператор + для конкатенации списков:

square_list = square_list + start_list 

Вы также можете создать список понимание, как это:

square_list = [n for n in start_list] 

Если есть использовать функцию append(), то сделать что-то вроде:

for n in start_list: 
    square_list.append(n) 

Однако, это не пифонический способ, и для того, чтобы избежать подобных ситуаций, используются только списки.

+0

, одним из требований является использование метода .append(), как я могу это сделать и по-прежнему использовать .append()? – Karl

+0

Отредактировал свой ответ для этого –

+0

Он работает, это курс для начинающих Python. Я уверен, что они собираются охватить лучшие практики ... надеюсь, что – Karl

0

В: Напишите цикл for, который выполняет итерацию по start_list и .append() s с каждым квадратом числа (x ** 2) до square_list. Затем откройте квадратный_лист!

start_list = [5, 3, 1, 2, 4] 
square_list = [] 

# loop start_list 
for element in start_list: 
    # append each element**2 to square_list 
    square_list.append(element**2) 
# sort the list. 
square_list.sort() 
+0

спасибо, этот код сделал это, кроме того, что мне пришлось добавить (элемент ** 2) для акциза – Karl

+0

, убедитесь, что прочитайте материал курса перед публикацией на SO. люди ОН ненавидят этот вопрос. – taesu

+0

спасибо за помощь – Karl

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