当使用另一个列表附加一个带有数学的列表时,如何使第二个列表与第一个列表的长度相同?

2024-05-19 23:26:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用代码学院学习python,任务是“编写一个for循环,用start_list中每个项的平方(x**2)填充square_list。那就把方格表分类吧!”在

提示说有一个for循环,一个append函数和一个sort函数,我相信我使用的是正确的。在

 start_list = [5, 3, 1, 2, 4]
 square_list = []

 for start_list in square_list: 
     square_list.append(start_list**2)
     sort(square_list)
 print square_list

我收到一条错误消息:“哦,再试一次!平方表的长度应该和惊吓者一样长!”在

我也试过用正方形_列表.插入(0,start_list**2),但这也给出了相同的错误。 我很感激你的帮助,因为我被困了


Tags: 函数代码infor错误分类sortstart
3条回答

您需要迭代start_list中的每个元素:

for item in start_list:            # for each element in `start_list`
    square_list.append(item ** 2)  # add square of `item` in `square_list`

square_list.sort();                # finally sort the list

{{cd2>可以使用 ^{pr2}$

你的代码有一些问题。在

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

第一行是for start_list in square_list:。也就是说“我想对square_list中的每个start_list在一个循环中做一些事情。问题是这是两个独立的列表。您想创建一个新变量来代表start_list中的每一项。前两行应该类似于:

^{pr2}$

这将循环遍历start_list中的每个x),并将其平方追加到square_list上。在

第二个问题是sort(square_list)行。这不应该缩进,因为这会使它每次通过循环执行。另外,对列表排序的语法是square_list.sort()。所以这三条线应该是:

for x in start_list: 
    square_list.append(x ** 2)
square_list.sort()

我认为你在循环中犯了一个错误。试试这个:

start_list = [5, 3, 1, 2, 4]
square_list = []

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


sort(square_list)
print square_list

相关问题 更多 >