语法知识
以下内容是我在做牛客算法题时遇到的语法,是一些比较基础且常见的。
函数
1.map()
map(function, iterable, ...)
根据提供的函数做映射
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
>>> def square(x) : # 计算平方数
... return x ** 2
...
>>> map(square, [1,2,3,4,5]) # 计算列表各个元素的平方
<map object at 0x100d3d550> # 返回迭代器
>>> list(map(square, [1,2,3,4,5])) # 使用 list() 转换为列表
[1, 4, 9, 16, 25]
>>> list(map(lambda x: x ** 2, [1, 2, 3, 4, 5])) # 使用 lambda 匿名函数
[1, 4, 9, 16, 25]
>>>
2.strip()
str.strip([chars])
删除字符串头尾的指定的字符或字符序列,但是只能识别头部和尾部,默认为空格和换行符
str = "00000003210Runoob01230000000";
print(str.strip('0')) # 去除首尾字符 0
str2 = " Runoob # 去除首尾空格
print(str2.strip())
str3 = "123abcrunoob321"
print (str3.strip( '12' )) # 字符序列为 12
输出
3210Runoob0123
Runoob
3abcrunoob3
3.split()
str.split(str="", num=string.count(str))
split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔为 num+1 个子字符串
str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
print str.split( ); # 以空格为分隔符,包含 \n
print str.split(' ', 1 ); # 以空格为分隔符,分隔成两个
['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
['Line1-abcdef', '\nLine2-abc \nLine4-abcd']
输入三个数并进行操作
a,b,c=map(int,input().strip().split( ))即可
4.pow()
import math
math.pow(x,y)
这个是math模块pow()方法
返回x的y次方的值。
pow(x,y[,z])
这是内置的pow方法
这个函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z