Python common functions

Source: Internet
Author: User

Catalogue
1. Lambda
2. Map



Body
Lambda () function
Here's an example:

Func=lambda X:x+1print (func (1)) #2print (func (2)) #3



#以上lambda等同于以下函数

def func (x): Return (x+1)



It can be thought that lambda, as an expression, defines an anonymous function, where code x is the entry parameter and x+1 is the function body. Here Lambda simplifies the writing of function definitions. Code is more concise, but the use of functions is more intuitive and easy to understand.

In Python, there are also several well-defined global functions that are easy to use, filter, map, reduce.

From functools import reduce foo = [2, 9, 8, +, +] Print (list (filter (lambda x:x% 3 = = 0, foo))) #[18,  9, +, +] Print (list (map (lambda x:x * 2 +, foo))) #[14,,,,,,,,,, and 64]print (reduce (lambda x, y: x + y, foo) #139



The role of the map in the example above is very simple and clear. But does Python have to use lambda to make this simple? In the object traversal process, in fact Python for. In.. The IF syntax is already strong and is more readable than lambda.

For example, the map above can be written as: print ([x * 2 + x in Foo]) is very concise and easy to understand.

The filter example can be written as: print ([x for X in foo if x% 3 = = 0]) is also easier to understand than Lambda's way.


Map () function
Map () is a Python built-in high-order function that receives a function f and a list, and then, by putting the function f on each element of the list in turn, gets a new list and returns.

For example, for list [1, 2, 3, 4, 5, 6, 7, 8, 9]

If you want to square each element of the list, you can use the map () function:



Therefore, we only need to pass in the function f (x) =x*x, we can use the map () function to complete this calculation:

def f (x): Return x*xprint map (f, [1, 2, 3, 4, 5, 6, 7, 8, 9]) output results: [1, 4, 9, 10, 25, 36, 49, 64, 81]


Note: the map () function does not change the original list, but instead returns a new list.

With the map () function, you can convert a list to another list, just pass in the conversion function.

Because the list contains elements that can be of any type, map () can not only handle lists that contain only numeric values, but in fact it can handle lists of any type, as long as the incoming function f can handle the data type.

Task
Assuming that the user entered the English name is not standard, not according to the first letter capitalization, subsequent letter lowercase rules, please use the map () function, a list (including a number of nonstandard English names) into a list containing the canonical English name:

Input: [' Adam ', ' LISA ', ' BarT ']
Output: [' Adam ', ' Lisa ', ' Bart ']

def format_name (s): S1=s[0:1].upper () +s[1:].lower (); return s1;print map (format_name, [' Adam ', ' LISA ', ' BarT '])

The map () function is a python built-in high-order function that maps each element of the incoming list, returning a new map after the list




Python common functions

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.