为了账号安全,请及时绑定邮箱和手机立即绑定

对列表进行平方,然后将整个内容修改为空列表

对列表进行平方,然后将整个内容修改为空列表

有只小跳蛙 2021-10-10 16:37:28
我被要求对一组整数列表进行平方,并将一组整数和浮点数列表立方,然后将这些列表中的每一个修改为两个单独的空列表。我在 jupyter 上使用 python。我仅限于我们已经学过的东西(重要的一点 - 我已经尝试使用我们还没有学过的函数,教授希望我只限于我们已经涵盖的主题)。我们已经学会了制作列表、测量列表的长度、修改我们的列表以及 for 循环(使用 rang)e 和 while 循环......非常基础的。x = [2,4,6,8,10,12,14,16,18]y = [10,8.25,7.5,7,6.5,7,7.5,8.25,10]# initialize new lists belowxsquared = []ycubed = []# loop(s) to compute x-squared and y-cubed belowfor item_X in x:    item_X **= 2for item_Y in y:    item_Y **= 3# Use .append() to add computed values to lists you initializedxsquared.append(item_X)print(xsquared)ycubed.append(item_Y)print(ycubed)# Results实际结果:[324][1000]预期成绩:[4, 16, 36, 64, 100.... 324][1000, 561.515625, 421.875.... 1000]
查看完整描述

3 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

使用列表理解,您可以这样做:


x_squared = [item_x**2 for item_x in x]

y_cubed = [item_y**3 for item_y in y]


查看完整回答
反对 回复 2021-10-10
?
郎朗坤

TA贡献1921条经验 获得超9个赞

您只是附加了最后一个结果。如果你想坚持你所涵盖的主题,你应该使用for循环:


x = [2,4,6,8,10,12,14,16,18]

y = [10,8.25,7.5,7,6.5,7,7.5,8.25,10]


xsquared = []

ycubed = []


for item_X in x: 

    xsquared.append(item_X ** 2)


for item_Y in y: 

    ycubed.append(item_Y ** 3)

但是,最简单的方法是使用列表推导式:


x = [2,4,6,8,10,12,14,16,18]

y = [10,8.25,7.5,7,6.5,7,7.5,8.25,10]


xsquared = [n ** 2 for n in x]

ycubed = [n ** 3 for n in x]

两种情况下的输出:


print(xsquared)

print(ycubed)

[4, 16, 36, 64, 100, 144, 196, 256, 324]

[1000, 561.515625, 421.875, 343, 274.625, 343, 421.875, 561.515625, 1000]


查看完整回答
反对 回复 2021-10-10
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

如果你想避免列表理解或 map()


x = [2,4,6,8,10,12,14,16,18] 

y = [10,8.25,7.5,7,6.5,7,7.5,8.25,10]

x2 = []

y3 = []

for i in x:

    x2.append(i*i)

for i in y:

    y3.append(i**3)


查看完整回答
反对 回复 2021-10-10
  • 3 回答
  • 0 关注
  • 209 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信