首页 > 编程知识 正文

Python两个常用函数:range()和map()

时间:2023-11-20 04:46:27 阅读:294110 作者:HFFG

本文将介绍Python中两个常用的函数:range()和map(),对于初学者来说这两个函数是必学的,在Python的应用中非常广泛。本文将分别从函数的定义、常见用法和注意事项等不同方面进行阐述。

一、range()

range()函数是Python中非常常用的内置函数,用于生成一个包含 arithmetic progression(等差数列)的序列。

range(stop)
range(start, stop[, step])

其中,range()最基本的用法是将一些数字包括在内:

>>> print(range(5))
[0, 1, 2, 3, 4]

可以看到,当我们使用range(5)时,它返回的是从0开始到4结束的数字序列,停止值是必需的,而步长默认是1。

也可以将它用在循环的控制结构中:

>>> for i in range(5):
        print(i)

0
1
2
3
4

除了直接用range(),还可以使用它的三个参数控制序列的生成:起点、终点和步长。例如,指定起点、终点及间隔的代码如下所示:

>>> print(range(1, 10, 2))
[1, 3, 5, 7, 9]

可以看到,这个序列生成的起点是1,终点是10(实际上不包含10),每个间隔是2。

注意事项

  • range()生成的序列是以0为起始的。
  • 起点是可选的,而且默认值是0。
  • 步长也是可选的,而且默认是1。
  • 下标取值须要在序列长度内。

二、map()

map()是Python内置的高阶函数之一,它的作用是讲一个函数作用到一个序列中所有的元素上,并返回一个结果序列。其基本形式如下:

 map(function, sequence)

其中,function是接受一个参数的函数;sequence可以是任何序列类型。

map将function依次作用于sequence中每一个元素,将结果作为一个列表返回。示例如下:

>>> def square(x):
        return x ** 2

>>> print(map(square, [1, 2, 3, 4, 5]))
[1, 4, 9, 16, 25]

由此可以看出,map()函数将sequence中的每个元素都平方了。

此外,也可以传入多个序列,这时function依次取每个序列中相同位置的元素进行处理:

>>> print(map(lambda x, y: x * y, [1, 2, 3, 4, 5], [6, 7, 8, 9, 10]))
[6, 14, 24, 36, 50]

上面的例子中lambda函数作用于两个列表中同一位置上的值,将它们相乘,返回一个新的序列。

注意事项

  • map()函数返回结果的长度与入参中最短的序列一致。
  • 如果有多个序列作为参数,函数必需接收相同数量的参数,
  • 可以使用lambda函数直接传入逻辑实现。

三、总结

本文介绍了Python两个常用的内置函数:range()和map()。range()函数用于生成一个包含等差数列的序列,常用于循环的控制结构中。map()函数将一个函数作用于序列中所有的元素上,并返回结果序列,可以有多个序列作为参数,返回结果的长度与入参中最短的序列一致。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。