[英]Python, issue with for loop and List can't figure it out
这来自codecademy,它一直告诉我square_list
与start_list
长度不同(它必须是),并且即使我在square_list
上调用sort(也必须在square_list
上调用它)也无法对其进行排序。用start_list
来做)
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
在这种情况下, append()
函数调用将整个列表start_list
追加到square_list
,这将导致类似[[5, 3, 1, 2, 4]]
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方式,列表推导用于避免这种情况。
问:编写一个for循环,该循环在start_list和.append()上迭代,将每个平方(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()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.