python常用函数

1. range(a,b),生成a到b-1的自然数
2. sum()求和函数

例:一行代码实现1–100之和

print(sum(range(1,101)))

3.map()
map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回

 r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9]) 
 list(r)

例:列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式提取出大于10的数,最终输出[16,25]

#列表推导式就是列表生成式
L=[1,2,3,4,5]
def f(x):
    return x*x
L1=list(map(f,L))
print(L1)
print([x for x in L1 if x>=10])

4. random()
随机生成一个整数:random.randint(a,b),一个区间内的整数
生成一个0-1随机小数:random.random(),括号中不传参
随即生成n个随即小数:np.random.randn(n)
例:python中生成随机整数、随机小数、0–1之间小数方法

import random
import numpy as np
print(random.randint(0,10))
print(random.random())
print(np.random.randn(3))

输出:

0
0.7745266048703457
[-0.16120184  2.64041808  0.15368552]

例:生成0-100的随机数

import random
print(random.randint(0,100))#随机整数
print(100*random.random())#random.random()生成0-1之间的随机小数,所以乘以100

5. assert
例:python中断言方法举例

d={'a':1}
assert d['a']==2

输出:

Traceback (most recent call last):
  File "d:/codecodecode/test/test.py", line 159, in <module>
    assert d['a']==2
AssertionError

6.sort()
例:s = “ajldjlajfdljfddd”,去重并从小到大排序输出"adfjl"

s = "ajldjlajfdljfddd"
l=list(set(s))
print(l)
l.sort(reverse=False)
SS=''.join(l)
print(SS)

输出:

['a', 'l', 'd', 'f', 'j']
adfjl

7. lambda
lambda函数也叫匿名函数
例:用lambda函数实现两个数相乘

f=lambda x,y:x*y
print(f(2,3))

例:对list排序foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],使用lambda函数从小到大排序

foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4]
g=lambda L:sorted(L)
print(g(foo))
#法二
a=sorted(foo,key=lambda x:x)
print(a)

例:使用lambda函数对list排序foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],输出结果为
[0,2,4,8,8,9,-2,-4,-4,-5,-20],正数从小到大,负数从大到小

foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4]
f0=sorted(foo,key=lambda x:(x<0,abs(x)))
print(f0)

8. Counter
Counter是一个继承了字典的类(Counter(dict))
有关字典的相关方法也一并继承过来。
例:利用collections库的Counter方法统计字符串每个单词出现的次数"kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h"

from collections import Counter
c=Counter("kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h")
print(c)

输出:

Counter({'l': 9, ';': 6, 'h': 6, 'f': 5, 'a': 4, 'j': 3, 'd': 3, 's': 2, 'k': 1, 'g': 1, 'b': 1})

9. filter
接收一个函数和一个序列。把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素

list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15]))

例:filter方法求出列表所有奇数并构造新列表

a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
b=list(filter(lambda x:x%2==1,a))
print(b)

输出:

[1, 3, 5, 7, 9]
  1. datetime
    例:log日志中,我们需要用时间戳记录error,warning等的发生时间,请用datetime模块打印当前时间戳 “2018-04-01 11:38:54”
#strftime 方法来格式化日期
import time
lt=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
print(lt)

11.raise异常
例:写一段自定义异常代码

 #raise自定义异常
#捕捉异常可以使用try/except语句。
def f(i):
    try:
        if i>3:
            raise Exception("i is supposed <=3")
        return i+1 
    except Exception as e:#输出Exception的内容
        print(e)
f(4)

输出:

i is supposed <=3

参数检查

if not isinstance(x, (int, float)): 
	raise TypeError('bad operand type')#只允许整数和浮点数
  1. join
    例:x=“abc”,y=“def”,z=[“d”,“e”,“f”],分别求出x.join(y)和x.join(z)返回的结果
x="abc"
y="def"
z=["d","e","f"]
print(x.join(y))
print(x.join(z))
#都是dabceabcf
#join()括号里面的是可迭代对象,x插入可迭代对象中间,形成字符串

13.try except else finally
try - except 捕获程序在执行时遇到的异常情况
1)先执行try代码块,直到发现了错误,不再执行异常之后的代码
2)执行except代码块。
try…except…else没有捕获到异常,执行else语句
try…except…finally不管是否捕获到异常,都执行finally语句
例:举例说明异常模块中try except else finally的相关意义

try:
    a=b
    print(a)
except:
    print("Error")

14.zip()
zip([iterable, …])
它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组)
然后返回由这些tuples组成的list(列表)。
若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同
例:举例说明zip()函数用法

a=[1,2,3,4,5]
b=(1,2,3,4)
d="zhang"
zz=zip(a,b,d)
print(list(zz))
#输出[(1, 1, 'z'), (2, 2, 'h'), (3, 3, 'a'), (4, 4, 'n')]
  1. 编码
    例:a="hello"和b="你好"编码成bytes类型
a="hello"
b="你好"
c=a.encode('utf-8')
print(c)
print(b.encode('utf-8'))

输出:

b'hello'
b'\xe4\xbd\xa0\xe5\xa5\xbd'
  1. round()
    例:保留两位小数.题目本身只有a="%.03f"%1.3335,让计算a的结果,为了扩充保留小数的思路,提供round方法(数值,保留位数)
a="%.03f"%1.3335
print(a,type(a))
b=round(float(a),1)
print(b)
b=round(float(a),2)
print(b)
# 输出1.333 <class 'str'>
# 1.3
# 1.33
  1. strip()
    strip()方法,去除字符串开头或者结尾的空格a.strip()
    lstrip()方法,去除字符串开头的空格a.lstrip()
    rstrip()方法,去除字符串结尾的空格a.rstrip()
    replace()方法,可以去除全部空格,a.replace(" ", “”)
    例:a = " hehheh ",去除收尾空格
a = " hehheh "
a.rstrip()
print(a)

18. sort(),sorted(,key=,reverse=)
sorted():
sorted([36, 5, -12, 9, -21], key=abs)
key指定的函数将作用于list的每一个元素上,并根据key函数返回的结果进行排序。
默认情况下,对字符串排序,是按照ASCII的大小比较
反向排序sorted([‘bob’, ‘about’], key=str.lower, reverse=True)
区别:
list.sort()
print(list)
print(sorted(list))

sort没有返回值,但是会对列表的对象进行排序
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,
而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
例:列表嵌套字典的排序,分别根据年龄和姓名排序

foo = [{"name":"zs","age":19},{"name":"ll","age":54},
{"name":"wa","age":17},{"name":"df","age":23}]
f1=sorted(foo,key=lambda x:x["age"])#x是列表里的元素
print(f1)
f2=sorted(foo,key=lambda x:x["name"])
print(f2)
f0=sorted(foo,key=lambda x:(x["age"],x["name"]))
print(f0)

例:列表嵌套元组,分别按字母和数字排序

foo = [("zs",19),("ll",54),("wa",17),("df",23)]
f1=sorted(foo,key=lambda x:x[0])
print(f1)
f2=sorted(foo,key=lambda x:x[1])
print(f2)

例:列表嵌套列表排序,年龄数字相同怎么办?
foo = [[“zs”,19],[“ll”,54],[“wa”,17],[“df”,23],[“xf”,23]]
f1=sorted(foo,key=lambda x:x[0])
print(f1)
f2=sorted(foo,key=lambda x:(x[1],x[0]))
print(f2)
例:根据字符串长度排序,看排序是否灵活运用

l=["ab","abc","a","cdkj"]
b=sorted(l,key=lambda x:len(x))
print(b)

19.str.upper() str.lower()
例:字符串转化大小写

str="HHHuuu"
print(str.upper())
print(str.lower())

20. ‘sep’.join(seq)
参数说明
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串
返回值:返回一个以分隔符sep连接各个元素后生成的字符串
例:用两种方法去空格

str="hello world ha ha ha"
print(str.replace(" ",""))
s=str.split(" ")
print(s)
print("".join(s))

21.help(函数名)查看帮助
22.reduce
接收两个参数,reduce把结果继续和序列的下一个元素做累积计算

from functools import reduce
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值