我应该使用地图模式制作一个结果列表,用于对输入列表中的数字进行平方。
def square_all(list1):
list1 = []
squared = map(lambda x: x**2, list1)
return squared
我以为我理解了地图模式的语法,但是当我运行我的测试用例时,它继续告诉我我的函数返回一个空列表,我不知道为什么。
import unittest
import map
import point
class TestCases(unittest.TestCase):
def test_1(self):
nums = [2,3,4]
self.assertEqual(map.square_all(nums), [4,9,16])
if __name__ == '__main__':
unittest.main()
答案 0 :(得分:3)
您正在初始化list1=[]
,删除它并且它将起作用
def square_all(list1):
squared = map(lambda x: x**2, list1)
return squared
如果您想使用for循环执行此操作:
def square_all(list1):
squared=[]
for x in list1:
squared.append(x**2)
return squared