有python for循环的问题

时间:2016-04-26 16:03:05

标签: python python-2.7 for-loop

显然我应该让这个问题与所有人相关,但这很难做,因为它与非常具体的问题有关。

我正在使用在线辅导程序来学习python(我相信V2)和我正在进行的驱逐要我引用:

  1. 编写 for -loop,迭代 start_list .append()s 每个数字的平方*(x ** 2)*到 square_list
  2. 然后排序 square_list
  3. 我仍然试图绕过列表和循环,如果我错过了一些明显的东西,请原谅我

    `
    start_list = [5, 3, 1, 2, 4]
    square_list = []
    square_list.append(start_list)
    # Your code here!
    for square_list in square_list:
        square_list.sort()
    print square_list`
    

    以上是我正在使用的脚本。我遗漏了关于平方的部分,因为我还在试图弄清楚我应该怎么做。它 然而,按顺序打印所有5个数字。尽管如此,我仍然收到错误消息“请确保不要修改start_list”。我不明白我不修改它。

4 个答案:

答案 0 :(得分:2)

您正尝试将列表对象附加到列表square_list。那不是你想要的。您需要添加start_list的内容。要附加项目,请使用以下循环:

for i in start_list:
    square_list.append(i**2)

此代码会将每个元素的平方添加到square_list。然后,在循环外,调用.sort()上的square_list方法对其进行排序:

square_list.sort()

答案 1 :(得分:1)

您没有按照说明操作。

  

写一个循环遍历start_list和.appends()的每个数字平方到square_list。

以下符合此标准:

for number in start_list:
    square_list.append(number ** 2)

您遍历start_list。每个项目将只是“数字”一次。你将它平方并将其添加到square_list。

答案 2 :(得分:0)

start_list = [5, 3, 1, 2, 4]
square_list = []
for num in start_list:
    square_list.append(num ** 2)
print sorted(square_list)

答案 3 :(得分:0)

在这里使用列表推导是一个更好的主意,你可以运行相同的内容并从现有项目中创建一个新列表,但是你不需要通过追加操作使你的生活变得复杂。你遍历整个列表就可以了。

print([item ** 2 for item in start_list])

编辑:必须:

result_list = []
for item in start_list:
    result_list.append(item**2)
print(sorted(result_list))