Loading

刷题笔记 - 1267.A+B Problem

题目

1267.A+B Problem

代码

while True:
	try:
	a,b=map(int,input().strip().split())
		print(a+b)
	except:
		break

笔记

map()函数

语法

map(function, iterable, ...)

其中 function 是一个函数, iterable 是一个或多个序列。在python2中返回一个 列表 ,而在python3中返回 迭代器

实例

  1. 使用自定义函数

  2. 使用lambda匿名函数

a = map(lambdax, y : (x**y,x+y),[2,4,6],[3,2,1])
print(list(a))

# 结果如下
[(8,5),(16,6),(6,7)]
  1. 不传入函数

等同于 zip() ,将多个列表相同位置的元素归并到一个元组

a = map(None,[2,4,6],[3,2,1])
print(list(a))

# 结果如下
[(2,3),(4,2),(6,1)]
  1. 类型转换
  • 元组转换
a = map(int,(1,2,3))
print(list(a))

# 结果如下:
[1,2,3]
  • 字符串转换
map(int,'1234')
print(list(a))

# 结果如下:
[1,2,3,4]
  • 提取字典中的key,并将结果放在一个list中
a = map(int,{1:2,2:3,3:4})
print(list(a))

# 结果如下
[1,2,3]

注意

如上文所说,在python3中,使用 map() 得到的返回值是一个迭代器,直接输出并不能得到结果,将它转换为list类型后可得目标结果。

strip()方法

语法

str.strip([chars])

strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列,并不能删除中间部分的字符。返回移除之后的新字符串。

实例

str = "123abcrunoob321"
print (str.strip( '12' ))  # 字符序列为 12

# 结果如下
3abcrunoob3

根据上方实例发现,移除的元素并不受顺序影响,只要原字符串首尾位置包含字符1和2就会被移除。用一个不同的实例去验证:

str = "123000abc321000"
print (str.strip( '210' ))

# 结果如下
3000abc3

由此可证实上方论述,同时,如果首尾位置在去除过程中遇到非目标字符,即使该字符后方有目标字符也会停止。

参考资料

Python map() 函数 - 菜鸟教程

python中的map函数

Python strip()方法 - 菜鸟教程

posted @ 2022-12-05 22:25  KoiC  阅读(39)  评论(0)    收藏  举报