Python,for循环问题和List无法搞清楚

时间:2015-09-08 18:14:24

标签: python list sorting loops for-loop

这是来自codecademy,它一直告诉我size of list = 4241156 square_list的长度不一样(它需要)并且即使我调用sort也不会对它进行排序到start_list(必须在square_list上调用它无法使用square_list

start_list

2 个答案:

答案 0 :(得分: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)

然而,这不是pythonic方式,列表推导用于避免这样的事情。

答案 1 :(得分:0)

问:写一个for循环,遍历start_list和.append()s每个数字的平方(x ** 2)到square_list。然后排序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()