python中常见的内置函数
- map
#自定义map函数
def map_test(func, list):
res = []
for item in list:
res.append(func(item))
return res def add_one(x):
return x + 1 a = [1, 2, 3]
print(map_test(add_one, a))
print(map_test(lambda x:x + 1, a)) #终极版本 #python中的内置函数map(),功能同上
print('python的内置函数map()', list(map(lambda x:x + 1, a)))
#map(参数1:功能函数(命名函数或者是匿名函数,参数2:可迭代对象(列表,字符串...)))
#python2中map()函数处理的结果是一个列表,而python3中处理的结果是一个可迭代对象
map
- filter
#自定义filter函数
def filter_test(func, list):
res = []
for item in list:
if func(item):
res.append(item)
return res def bigger5(x):
if x > 5:
res = True
else:
res = False
return res a = [1, 2, 3, 10, 15, 6]
print(filter_test(bigger5, a)) #python内置函数filt(),功能同上
print(list(filter(bigger5, a)))
#filter(参数1:功能函数(命名函数或者是匿名函数,参数2:可迭代对象(列表,字符串...)))
#python2中filter()函数处理的结果是一个列表,而python3中处理的结果是一个可迭代对象
filter
- reduce
#自定义reduce函数
def reduce_test(func, list, init = None):
if init is None:
res = list.pop(0)
else:
res = init
for item in list:
res = func(res, item)
return res
a = [1, 2, 3]
print(reduce_test(lambda x, y:x + y, a)) #python内置函数reduce()
from functools import reduce
a = [1, 2, 3]
print(reduce(lambda x, y:x + y , a)) #
print(reduce(lambda x, y:x + y , a, 2)) #
#reduce(参数1:功能函数(命名函数或者是匿名函数),参数2:可迭代对象(列表,字符串...),参数3,初始值(可选参数))
#返回是一个值
reduce
①map():对可迭代对象中的每个元素都进行相同的处理,最后返回一个新的可迭代对象,python2中直接返回列表形式
②filter():对可迭代对象中的每个元素进行筛选,最后将符合条件的元素装进一个新的可迭代对象里,python2中直接返回列表形式
③reduce():对可迭代对象中的元素进行一个操作(如所有的值加起来),最后返回新数值
- 其他内置函数
# ==========abs==========绝对值
print(abs(-1)) # # ==========all==========可迭代对象的每个元素的布尔操作都是True时返回True,若传入的可迭代对象是空则返回True
print(all(['', 1, 's'])) # False # ==========any==========可迭代对象的每个元素的布尔操作中有一个是True时就返回True,若传入的可迭代对象是空则返回True
print(any(['', 5, ''])) # Ture # ==========bin==========将十进制数转成二进制数
print(bin(3)) # 0b11 # ==========hex==========将十进制数转成十六进制数
print(hex(10)) # 0xa # ==========oct==========将十进制数转成八进制数
print(oct(8)) # 0o10 # ==========bool==========布尔值操作: 空 0 None 布尔操作为False
print(bool([])) # False # ==========bytes==========编码 将传入的字符串用某种编码方式转换成二进制
print(bytes('陈', encoding='utf-8')) # b'\xe9\x99\x88'
print(bytes('陈', encoding='utf-8').decode('utf-8')) # 陈 # 译码 译码与编码应采用一样的 # ==========chr==========将ASCII码转成对应字符
print(chr(97)) # a # ==========ord=========将字符转成对应的ASCII码值
print(ord('a')) # # ==========dir==========打印某种对象里面的所有属性
print(dir(all)) # ==========divmod==========参数1除以参数2 返回一个元组(商,余数)
print(divmod(10, 3)) # (3, 1) # ==========eval==========
dic = {'name': 'chen'}
dic_str = str(dic)
# ===================================功能1:提取成传入的字符串中的数据类型
print(dic_str) # '{'name': 'chen'}'
print(type(dic_str)) # <class 'str'>
print(eval(dic_str)) # {'name': 'chen'}
print(type(eval(dic_str))) # <class 'dict'>
# ===================================功能2:计算字符串中的数学运算
s = '1 + 2 * 1'
print(eval(s)) # # ==========hash==========hash运算
print(hash('chen')) # -1076846465005340399
print(hash('chenyuanyuan')) # -8978753568388561982 #hash()---->hash运算 # ==========help==========函数功能解释
print(help(all)) # ==========isinstance==========判断某个对象是否是某种数据类型的实例对象
print(isinstance('', str)) # True # ==========globals、locals==========全局变量、局部变量
name = 'chen' def test():
age = 18
print(globals()) # 打印所有的全局变量,包括name
print(locals()) # {'age': 18} #打印所有的局部变量 test() # ==========min、max==========最小值、最大值
dic = {'chen': 100, 'wang': 200, 'li': 500, 'do': 600}
# ============一个可迭代参数
print(min(['a01', 'b10', 'c1'])) # a01 遍历出每个元素,比较它们的的第一位的ASCII码值,找到最小后就停止比较
# print(min(['a01', 'b10', 'c1', 30])) #报错 不同数据类型无法比较
print(min(dic)) # chen
print(max(dic)) # wang
print(min(dic.values())) #
print(max(dic.values())) #
print(max(zip(dic.values(), dic.keys()))) # (600, 'do') #max与zip结合找出value值最大的那一组
# ============两个参数
print(min(dic, key=lambda k: dic[k])) # chen
print(max(dic, key=lambda k: dic[k])) # do # ==========zip==========拉链操作,将多个可迭代对象(列表,元组,字符串)对应元素组成一个元组,多余元素自动去掉,返回可迭代对象
print(list(zip('abc', 'def', 'ghihhhhh'))) # [('a', 'd', 'g'), ('b', 'e', 'h'), ('c', 'f', 'i')]
print(list(zip(dic.keys(), dic.values()))) # [('chen', 100), ('wang', 200), ('li', 500), ('do', 600)] # ==========pow==========参数1的参数2次方,结果对参数3进行取余操作
print(pow(2, 3)) #
print(pow(2, 3, 1)) # # ==========reversed==========反转可迭代对象中元素的排列顺序,返回迭代器
a = [1, 2, 3]
print(list(reversed(a))) # [3, 2, 1] # ==========round==========四舍五入取整
print(round(2.66)) # # ==========set==========将其他数据类型转换成集合
print(set('hello')) # {'h', 'o', 'e', 'l'} # ==========slice==========切片:参数1-->起始索引,参数2-->结束索引,参数3-->步长
a = 'ehllovihgh'
s1 = slice(2, 6, 2)
print(s1.start) #
print(s1.stop) #
print(s1.step) #
print(a[s1]) # lo # ==========sorted==========排序
a = [1, 25, 2, 3]
print(sorted(a)) #[1, 2, 3, 25] #不同数据类型任然无法进行排序比较
lists = [{'name': 'chen', 'age': 18}, {'name': 'wang', 'age': 25}, {'name': 'li', 'age': 9}]
print(sorted(lists, key = lambda dic:dic['age']))
#[{'name': 'li', 'age': 9}, {'name': 'chen', 'age': 18}, {'name': 'wang', 'age': 25}]
info = {'liu': 100, 'li': 12200, 'chen': 100000}
print(sorted(info.keys())) #['chen', 'li', 'liu'] #比较key值
print(sorted(info.values())) #[100, 12200, 100000] #比较value值
print(sorted(info, key = lambda key: info[key])) #['liu', 'li', 'chen'] #比较value值,返回key值
print(sorted(zip(info.values(), info.keys()))) #[(100, 'liu'), (12200, 'li'), (100000, 'chen')] # ==========type==========查看数据类型
print(type('ll')) # <class 'str'> # ==========sum==========求和
print(sum([5, 2, 3])) # # ==========range==========范围
for item in range(5):
print(item)
#
#
#
#
#
for item in range(5, 7):
print(item)
#
# # ==========__import__==========引入字符串类型的模块名
m = __import__('...')
m.函数名()
其他内置函数
python中常见的内置函数的更多相关文章
- python中68个内置函数的总结
内置函数 内置函数就是python给你提供的, 拿来直接用的函数, 比如print., input等. 截止到python版本3.6.2 python一共提供了68个内置函数. #68个内置函数 # ...
- python中的 dir()内置函数的作用以及使用方法
dir() 内置函数的作用 python 内置方法有很多,无论是初学者还是精通python 的程序员都不能全部即住所有的方法,这时候 dir() 方法就非常有用了,使用 dir()函数可以查看对象内的 ...
- Python中练习题关于内置函数的getattr,setattr问题
执行一下代码的结果是? class A: def __init__(self,a,b,c): self.x = a+b+c a = A(1,2,3) b = getattr(a,'x') setatt ...
- python中的一些内置函数
1.布尔类型 2.求和sum 3.取全局变量和局部变量 4.ascii码和字符集 chr().ord() 5.看某个功能下有哪些方法 help(x).dir(x) 6.exec执行python代码 7 ...
- python补充最常见的内置函数
最常见的内置函数是: print("Hello World!") 数学运算 abs(-5) # 取绝对值,也就是5 round(2. ...
- python 类(object)的内置函数
python 类(object)的内置函数 # python 类(object)的内置函数 ### 首先 #### 以__双下划线开头的内置函数 __ #### __往往会在某些时候被自动调用,例如之 ...
- Python之生成器及内置函数篇4
一.可迭代对象 #1.什么是迭代?:迭代是一个重复的过程,并且每次重复都是基于上一次的结果而来 #2.可迭代的对象:在python中,但凡内置有__iter__方法的对象,都是可迭代的对象 #3.迭代 ...
- python字符串——"奇葩“的内置函数
一.前言 python编程语言里的字符串与我们初期所学的c语言内的字符串还是有一定不同的,比如python字符串里的内置函数就比语言的要多得多:字符串内的书写格式也会有一点差异,例:字符串内含有引 ...
- Python标准库:内置函数hasattr(object, name)
Python标准库:内置函数hasattr(object, name) 本函数是用来判断对象object的属性(name表示)是否存在.如果属性(name表示)存在,则返回True,否则返回False ...
随机推荐
- Centos7系统安装笔记
Centos 7安装步骤 对应参数,可修改 1.一台主机对应一个服务器,需要先安装Centos 7(内网)2.F12 boot 进入boot模式3.选择安装方式:USE或其他4.根据底部文字提示,点击 ...
- Java 多态基础
多态的定义 程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在运行期间才确定. 或者是同一个行为具有多个不同表现形式或形态的能力. 多态的体现 在玩LOL时,W ...
- DenyHosts 安全限制ssh防暴力破解
DenyHosts是Python语言写的一个程序,它会分析sshd的日志文件(/var/log/secure),当发现重 复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP ...
- 影响Acorn for Mac图像打印质量的因素有什么?怎样处理这些因素才能得到打印效果最佳的图像?
Acorn for Mac是Mac OS平台上一款比较不错的图像处理软件.acorn mac版用起来都很像神器 Photoshop,是的,它的设计目标就是成为 Photoshop 的轻量替代者,拥有所 ...
- MySQL - 两种存储引擎 (MyISAM PK InnoDB) + MVCC
总结 1.两种存储引擎各有各的有点,MyISAM专注性能,InnoDB专注事务.两者最大的区别就是InnoDB支持事务,和行锁. 2.InnoDB采用MVCC(Multi-Version Concur ...
- C之输入输出函数(3) -- 请使用sscanf()
#include <stdio.h> int fscanf(FILE *__restrict__stream, const char *__restrict__format-string, ...
- thinkphp 配置参考
惯例配置 应用设定 'APP_USE_NAMESPACE' => true, // 应用类库是否使用命名空间 3.2.1新增 'APP_SUB_DOMAIN_DEPLOY' => fals ...
- Shiro学习(6)Realm整合
6.1 Realm [2.5 Realm]及[3.5 Authorizer]部分都已经详细介绍过Realm了,接下来再来看一下一般真实环境下的Realm如何实现. 1.定义实体及关系 即用户-角色之间 ...
- SP6779 GSS7 - Can you answer these queries VII
纯数据结构题,没有思维难度.直接用线段树求最大子段和的方法完成树上路径的合并.注意链上合并顺序要符合序列的前后顺序. #include <cstdio> #include <cstr ...
- Likecloud-吃、吃、吃
题目背景 问世间,青春期为何物? 答曰:"甲亢,甲亢,再甲亢:挨饿,挨饿,再挨饿!" 题目描述 正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一直处在饥饿的状态中.某日 ...