繁体   English   中英

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

[英]Python, issue with for loop and List can't figure it out

这来自codecademy,它一直告诉我square_liststart_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM