Python一行读入多个整数+map()函数解析

python中的输入raw_input只能读入一个数,但是有时候需要读入多个数,我们该怎么办呢,读两个数可以使用两个raw_input,但是我们如果需要读取十个数怎么办,不能使用十个raw_nput 吧。

import sys
num1,num2 = map(int,sys.stdin.readline().split())
print num1,num2  

如果需要理解上面的代码我们需要知道map函数的用法和作用,懂了之后再看下面的代码简直就是so easy啊。

1、对可迭代函数‘iterable‘中的每一个元素应用‘function’方法,将结果作为list返回。

def add100(x):
      return x+100

hh = [11,22,33]
map(add100,hh)

#输出:[111, 122, 133]

2.如果map调用的函数需要多个参数,也可以传入多个参数。

def abc(a, b, c):
     return a*10000 + b*100 + c

list1 = [11,22,33]
list2 = [44,55,66]
list3 = [77,88,99]
map(abc,list1,list2,list3)

#输出为:[114477, 225588, 336699]

3.如果‘function‘给出的是‘None’,会将传入的参数变成一个含有几个元组的列表。

<pre name="code" class="python">list1 = [11,22,33]
map(None,list1)

#输出为:[11, 22, 33]

list1 = [11,22,33]
list2 = [44,55,66]
list3 = [77,88,99]
map(None,list1,list2,list3)

#输出为:[(11, 44, 77), (22, 55, 88), (33, 66, 99)]

map(f, iterable)

基本上等于:

[f(x) for x in iterable]

下面来举两个列子来证明上面的观点

def add100(x):
    return x + 100

list1 = [11,22,33]
map(add100,list1)
#输出为:[101, 102, 103]

[add100(i) for i in list1]
#输出为:[101, 102, 103]

def abc(a, b, c):
    return a*10000 + b*100 + c

list1 = [11,22,33]
list2 = [44,55,66]
list3 = [77,88,99]
map(abc,list1,list2,list3)
#输出为:[114477, 225588, 336699]

[abc(a,b,c) for a,b,c in zip(list1,list2,list3)]
#输出为:[114477, 225588, 336699]
时间: 2024-10-11 00:52:03

Python一行读入多个整数+map()函数解析的相关文章

python中,for循环,map函数,list comprehension列表推导的效率比较

在我们平时写代码中,肯定会遇到不少从一个列表向另一个列表进行转化的操作,以给列表中每个int元素+1为例,通常我们会用到一下3种方式: array = range(1000) # 循环 a = [] for i in array: a.append(i+1) #map函数 a = map(lambda x: x+1, array) #列表推导 a = [x+1 for x in array] 究竟以上三种写法有何差异,哪种写法最好,之前读google的代码规范说推荐第三种列表推导,那么为什么推荐

Python学习1:自行实现map函数

假设Python没有提供map()函数,自行编写my_map()函数实现与map()相同的功能.以下代码在Python 2.7.8中实现. 实现代码: def my_map(fun,num):     i = 0     x = list(range(len(num)))#创建一个list,长度为输入list的长度     for n in num:#对输入list中每个变量进行遍历          x[i] = fun(n)#调取fun函数,并将返回结果存入x中          i = i

python中的set(),zip()以及map()函数

set.zip和map函数均为python的内置函数. (1)set()      用法:set(interable)  用来创建一个无序不重复元素的集合.可以对其进行集合的一系列操作,例如求差集.并集和补集,利用这一特性可删除重复数据.探索元素之间的关系等.此外还可以进行len操作,返回集合中元素的个数. a = '1234' b = '11m' #由于集合中的元素是无序的,所以set函数每次输出的结果中的元素顺序是不一致的 x = set(a) ## 输出{'4', '2', '1', '3

MAP函数应用于多线程下载图片

# -*- coding:utf8 -*- from bs4 import BeautifulSoup import os, sys, urllib2, urllib from multiprocessing.dummy import Pool as ThreadPool urls = [] def download(url): urllib.urlretrieve(url, 'd:/'+url[-7:]) def page_loop(page=1): url = 'http://www.bea

Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)...啊啊啊

函数式编程 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. 而函数式编程(请注意多了一个"式"字)--Functional Programming,虽然也可以归结到面向过程的程序设计,但其思想更接近数学计算. 我们首先要搞明白计算机(Computer)和计算(Compute)的概念. 在计算机的层次上,CPU执行的是加减乘除的指令代码

Python之路Python作用域、匿名函数、函数式编程、map函数、filter函数、reduce函数

Python之路Python作用域.匿名函数.函数式编程.map函数.filter函数.reduce函数 一.作用域 return 可以返回任意值例子 def test1(): print("test1") def test(): print("test") return test1 res = test() print(res) 输出结果 test <function test1 at 0x021F5C90> 分析:这里print(res)输出的是te

Python连载43-current中的map函数、xml文件

一.current中的map函数 1.map(fn,*iterable,timeout=None) (1)跟map函数相类似(2)函数需要异步执行(3)timeout代表超时时间 (4)map和submit使用一个就可以 import time,re import os,datetime from concurrent import futures data = ['1','2'] def wait_on(argument): print(argument) time.sleep(2) retu

python中map()函数

map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9] 如果希望把list的每个元素都作平方,就可以用map()函数: 因此,我们只需要传入

python map函数

map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9] 如果希望把list的每个元素都作平方,就可以用map()函数: 因此,我们只需要传入函数f(x)=x*x,就可以利用map()函数完成这个计算: def f(x): return x*x print map(f, [1, 2, 3, 4,