Python⼀⾏读⼊多个整数+map()函数解析
python中的输⼊raw_input只能读⼊⼀个数,但是有时候需要读⼊多个数,我们该怎么办呢,读两个数可以使⽤两个raw_input,但是我们如果需要读取⼗个数怎么办,不能使⽤⼗个raw_nput 吧。
import sys
num1,num2 = map(int,adline().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]python怎么读的
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]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。