xy1770 发表于 2020-12-21 01:30:13

map

def f(x):
    return x**2
map(f, )

map(lambda x: x ** 2, )

为什么输出是乱码?

Sebass 发表于 2020-12-21 02:54:50

我不太会用Python,但是map(f ,)中的f()里应该给东西吧

洋洋痒 发表于 2020-12-21 03:18:15

这个不是乱码,是迭代器。不要问我什么是迭代器,问就是我也不知道

逃兵 发表于 2020-12-21 08:18:42

map函数返回迭代器
迭代器你可以用list或者tuple或者for来迭代
>>> def f(x):
    return x**2

>>> list(map(f, ))

>>> tuple(map(f, ))
(1, 4, 9, 16, 25, 36, 49, 64, 81)
>>> for i in map(f, ):
        print(i)

       
1
4
9
16
25
36
49
64
81

>>> list(map(lambda x: x ** 2, ))

>>> tuple(map(lambda x: x ** 2, ))
(1, 4, 9, 16, 25)
>>> for i in map(lambda x: x ** 2, ):
        print(i)

       
1
4
9
16
25
页: [1]
查看完整版本: map