Python学习之==>内置函数、列表生成式、三元表达式
一、内置函数
所谓内置函数就是Python自带的函数
print(all([0,2,3,4])) #判断可迭代的对象里面的值是否都为真
print(any([0,1,2,3,4])) #判断可迭代的对象里面的值是否有一个为真
print(bin(10)) #十进制转二进制(0b1010:ob代表二进制,10的二进制是1010)
print(bool('a')) #把一个对象转换成布尔类型(非空即真,非0即真)
print(callable('aa')) #判断传入的对象是否可调用
print(chr(66)) #取数字对应的ascii
print(ord('B')) #取字符串对应的ascii码
print(dict(a=1,b=2)) #转换字典
print(dir('a')) #打印传入对象的可调用方法
print(eval('1+1')) #执行python代码,只能执行简单的,定义数据类型和运算
print(exec('def a():pass')) #执行python代码
print(filter(lambda x:x>5,[12,3,12,2,1,2,35]))#把后面的迭代对象根据前面的方法筛选
print(map(lambda x:x>5,[1,2,3,4,5,6]))
print(frozenset({1,2,3,3})) #定义一个不可修改的集合
print(globals()) #返回程序内所有的变量,返回的是一个字典
print(locals()) #返回局部变量
print(hash('aaa'))#把一个字符串哈希成一个数字
print(hex(111)) #数字转成16进制
print(max(111,12))#取最大值
print(min(111,12))#取最小值
print(abs(-10)) #取绝对值
print(oct(111)) #把数字转换成8进制
print(round(1.215,2))#取几位小数
print(sorted([2,31,34,6,1,23,4]))#排序
内置函数zip
把多个list组合到一起变成一个二维数组
1 list1 = ['a', 'b', 'c', 'd', 'f', 'g']
2 list2 = [1, 2, 3]
3 list3 = ['!', '#', '%', '*']
4 list4 = ['A', 'B', 'C', 'D', 'E']
5 # zip是把多个list组合到一起变成一个二维数组
6 print(list(zip(list1, list2, list3, list4)))
7 # 如果list长度不一样,则循环次数以元素少的list为准
8 for a, b, c, d in zip(list1, list2, list3, list4):
9 print(a, b, c, d)
内置函数map
自动循环调用函数
1 def my(num):
2 return str(num)
3 lis = [1,2,3,4,5,6,7,8,9]
4 # 将lis中的每个元素作为函数my的入参调用函数
5 res = list(map(my,lis)) # 将对象强制转换成list
6 print(res)
7 # 和以下代码功能一样
8 new_lis = []
9 for i in lis:
10 new_lis.append(my(i))
11 print(new_lis)
内置函数filter
同样是循环调用函数
1 def even(num):
2 if num % 2 == 0:
3 return True
4 else:
5 return False
6 lis = [1, 2, 3, 4, 5, 6, 7, 8, 9]
7 # filter只保留结果返回为真的list中的元素
8 res1 = list(filter(even, lis))
9 # 函数返回什么就保存什么
10 res2 = list(map(even, lis))
11 print(res1)
12 print(res2)
二、匿名函数
函数的功能很简单,只需要用一次
res = lambda x:x+1 #冒号后面的是函数的函数体,冒号前面的是返回值
print(res(2))
三、字典排序
dic = {'a':'','b':'','c':''}
res1 = sorted(dic.items(),key=lambda x:x[0]) #根据字典的key排序
res2 = sorted(dic.items(),key=lambda x:x[1]) #根据字典的value排序
print(sorted(dic.items())) # 后面不指定key和value则默认按照key排序
print(res1)
print(res2)
四、列表生成式
k = [i for i in range(1,101,2)] #生成100以内的奇数,放入一个list里面
print(k)
import random
red_num = random.sample(range(1,34),6)
new_num = []
new_num = [str(num).zfill(2) for num in red_num]
# 以下代码和上面的列表生成式效果一样
for num in red_num:
tmp = str(num).zfill(2)
new_num.append(tmp)
五、三元表达式
a = 5
b = 4
c = a if a > b else b
# 相当于:
if a > b:
c = a
else:
c = b
Python学习之==>内置函数、列表生成式、三元表达式的更多相关文章
- python学习交流 - 内置函数使用方法和应用举例
内置函数 python提供了68个内置函数,在使用过程中用户不再需要定义函数来实现内置函数支持的功能.更重要的是内置函数的算法是经过python作者优化的,并且部分是使用c语言实现,通常来说使用内置函 ...
- Python学习(5)——内置函数
常用字符串内置函数 1)str.count() //返回该字符串中某个子串出现的次数 2)str.find() //返回某个子串出现在该字符串的起始位置 3)str.lower() //将该字符串全部 ...
- python学习之--内置函数:
Python内置函数: Python内置了很多有用的函数,我们可以直接调用.要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数. 1. 内置函数调用之--abs()函数: ...
- python学习总结----内置函数及数据持久化
抽象基类(了解) - 说明: - 抽象基类就是为了统一接口而存在的 - 它不能进行实例化 - 继承自抽象类的子类必须实现抽象基类的抽象方法 - 示例: from abc import ABC, abs ...
- python学习-31 内置函数
内置函数 1.abs() 绝对值 2.all() 判断列表里的所有值的布尔值(如果迭代列表里的每个值后都是True 则返回True) '])) 运行结果: True Process finis ...
- python学习-34 内置函数的补充
其他内置函数 1.ord() 与chr()相反 2.pow() print(pow(3,3)) # 相当于3**3 print(pow(3,3,2)) # 相当于3*3%2 运行结果: 27 1 ...
- python学习之- 内置函数
内置方法:1:abs():取绝对值2:all():当可迭代对象里所有均为真时结果为真. all([1,2,3])3:any():当可迭代对象里任意一个数据为真结果即为真.any([0,1,2])4:a ...
- xpinyin-函数返回多个值-lambda匿名函数-列表生成式-三元表达式
import xpinyinp=xpinyin.Pinyin() #实例化print(p.get_pinyin('小白','')) 函数返回多个值:1.函数如果返回多个值的话,它会把这几个值放到一个元 ...
- python学习(内置函数)
1.id()返回对象的内存地址 a = 1 print id(a) print id(1) 2.int()用于将数据类型转换为整型 a = " b = 2 print int(a) + b ...
随机推荐
- 利用sql报错帮助进行sql注入
我们可以利用sql报错帮助进行sql注入,这里以sql server 为例: sql查询时,若用group by子句时,该子句中的字段必须跟select 条件中的字段(非聚合函数)完全匹配,如果是se ...
- 查看 php 编译参数
/app/php/bin/php -i|grep configure 范例 4: [root@VM-001 ~]# /app/php/bin/php -i|grep configure Configu ...
- BFPRT: O(n)最坏时间复杂度找第K大问题
同时找到最大值与最小值 找到n个元素中的最大/小值,比较次数为n-1, 找到n个元素中的最大值和最小值,可以Two Pass,比较次数为2n-2 也可以One Pass,比较次数至多为\(\left ...
- ubuntu 添加新用户并赋予root权限
1 sudo adduser wolbo 2 sudo vim /etc/sudoers root ALL=(ALL) ALLwolbo ALL=(ALL) ALL wolbo ALL=(ALL) N ...
- 解决在linux下安装centos自带的mysql后,出现navicat远程连接失败的问题
最近在学习关于数据库相关的东西,所以下午尝试在linux下自己搭建了myql,我的mysql是直接安装centos系统自带的,安装过程不再赘述 安装完成后,从linux后台登录也显示成功,但是就是从n ...
- elementUI中的el-xxx标签解释
点击跳转地址:https://blog.csdn.net/Tom__cy/article/details/89680067 el-col :整体,el-container: 主体区域el-toolti ...
- Ubuntu18.04下更改apt源为阿里云源
1.复制源文件备份,以防万一 我们要修改的文件是sources.list,它在目录/etc/apt/下,sources.list是包管理工具apt所用的记录软件包仓库位置的配置文件,同样类型的还有位于 ...
- spring mvc @Valid 数据验证
//对书的单价校验不能是空,价格在20-100之间 @DecimalMax(value = "100", message = "价格不超过100元") ...
- java agent问题
Error occurred during initialization of VMagent library failed to init: instrumentobjc[36987]: Class ...
- selenium,控制滚动条
今天写selenium用例的时候,遇见奇葩的问题,FF下是没有错误的,但是在chrome和ie下就会有问题,后来发现是 操作中点击一个按钮,在页面不可见,就会导致异常,解决方法如下: element ...