[英]Having issues with python for loops
因此,显然我应该将这个问题与所有人相关,但这很难做到,因为它与非常特定的问题有关。
我正在使用一个在线教程程序来学习python(我相信是V2),而我的驱使要我引用:
我仍在尝试绕过列表和循环,如果我遗漏了一些明显的东西,请原谅我
`
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”。 我不明白我不打算修改它。
您正在尝试将列表对象追加到列表square_list
。 那不是你想要的。 您需要附加start_list
的内容。 要追加项目,请使用如下循环:
for i in start_list:
square_list.append(i**2)
此代码会将每个元素的平方添加到square_list
。 然后, 在循环之外 ,调用square_list
上的.sort()
方法, square_list
进行排序:
square_list.sort()
您没有按照说明进行操作。
编写一个for循环,该循环在start_list和.appends()的每个数字平方成square_list的位置上进行迭代。
以下满足此条件:
for number in start_list:
square_list.append(number ** 2)
您遍历start_list。 每个项目将仅是“编号”一次。 您将其平方并添加到square_list。
start_list = [5, 3, 1, 2, 4]
square_list = []
for num in start_list:
square_list.append(num ** 2)
print sorted(square_list)
在这里使用列表推导是一个更好的主意,您可以对其运行并从现有项目中创建一个新列表,但是您无需通过添加操作来使您的生活复杂化。 您遍历整个列表,仅此而已。
print([item ** 2 for item in start_list])
编辑:对于是必须的:
result_list = []
for item in start_list:
result_list.append(item**2)
print(sorted(result_list))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.