内置函数小总结(三元运算,lambda,map ,zip )

内置函数小总结(三元运算,lambda,map ,zip )_第1张图片
雄关漫道真如铁,而今迈步从头越!

  • 三元运算
result = '真' if 条件语句 else '假'  ###判断条件语句为真 则取前面值,否则取后面

/*等于if 以下判断*/
if 条件 :
  result = '真'
else:
  result = '假'

  • lambda 表达式
/*是一个匿名函数 快速处理一些小问题节省代码*/
temp = lambda x,y,z:x+y+z
print(temp(10,20,30))  

内置函数

  • 常用汇总
a = []
help(a)
print(dir())    ### 当前文件所有变量 key
print(vars())   ### 当前文件所有哦的 key 和 value
print(type(a))  ### 获取变量的 类型

from text1 import  demo  ### 导入文件 导入时候 会执行一下导入文件 重复导入只执行一次
from imp import  reload
reload(demo)   ### 重复使用导入的文件


print( abs(-1) )        ### 1 绝对值
print( bool(-8))        ### Ture  布尔值
print( divmod(9,4))     ###(2,1)9 除以 4  商2 余1
print( max([1,5,9]))    ### 9 取列表最大,只能传一个列表
print( min([1,5,9]))    ### 1 取列表最小,只能传一个列表
print( sum([1,2,3,4]))  ### 10 求和
print( pow(2,10))       ### 1024 2^10 = 1024
print( len('字数'))      ### 2 不管是字母还是中文都是数量

print( all([1,2,3]))    ### True 所有为真才为真
print( any([0,0,0,2]))  ### True 有一个为真就是真
print( chr(65))         ### A 数字对应的字母
print( ord('A'))        ### 65 字母对应的数字
print( hex(16))         ###  0x10 16进制
print( bin(16))         ###  0b10000 2进制
print( oct(16))         ###  0o20 8进制
  • 为列表生成一个对应的 key
list_test = ['詹姆斯','韦德','安东尼','保罗']
for temp in list_test:
    print(temp)
for temp in enumerate(list_test,23):
    print(temp)
    print("索引值:",temp[0],"对应值:",temp[1])
  • 类似占位符
zhan_wei = 'name : {0}, number : {1} '
print(zhan_wei.format('欧文','2'))
  • map 函数

    • 参数1:函数名,也可以使用匿名函数 lambda
    • 参数2:列表
    • (把列表中的元素依次作为参数传入函数)注意py3中 返回值是一个 map 对象,需要的话使用 list()转化成列表
# 实现列表每个元素加100
# 方法 1:
def function_map (arg):
    return arg + 100

list_map = [1,2,3]
temp = map(function_map,list_map)
print(list(temp)) # [101,102,103]

# 方法 2:
temp1 = map(lambda arg:arg + 100,list_map)
print(list(temp1)) # [101,102,103]

  • filter 用于过滤结果

    • 参数1:函数名
    • 参数2:列表
    • 遍历列表把元素作为参数传入函数,返回 True的过滤出来,抛弃返回 Fase 的结果 结果是一个filter对象
def fun_filter(arg):
    if arg > 0:
        return True
    else:
        return False

list_filter = [-1,0,1,2]
print(list(filter(fun_filter,list_filter))) 
  • reduce 函数 需要从functools导入

    • 参数1:函数名(此函数必须有两个形式参数)
    • 参数2:列表 (传入只有一个元素的话,返回该元素)
    • 第一次将列表前两个元素作为实参传入函数,得到结果在和第3个元素作为实参传入函数,以此类推直到最后一个元素
from functools import reduce

list_reduce = [1,2,3,4]

def fun_reduce(x,y):
    return x + y

print(reduce(lambda x,y:x+100,list_reduce)) # 301
print(reduce(fun_reduce,list_reduce))   # 10
print(reduce(lambda x,y:x*y,list_reduce))   # 24
  • zip 函数

    • 将若干个列表中下标一样的元素各自放在一起作为一组,组成新的列表(结果是一个 zip 对象)!
    • 最终结果元素个数与元素个数最少的列表相同
list1 = [1, 2, 3, 4]
list2 = [5, 6, 7, 8]
list3 = [9, 10, 11, 12]
list4 = [13, 14]
list5 = [15]
print(list(zip(list1, list2, list3)))  #结果 [(1, 5, 9), (2, 6, 10), (3, 7, 11), (4, 8, 12)]
print(list(zip(list1, list2, list4)))  #结果 [(1, 5, 13), (2, 6, 14)]
print(list(zip(list1, list3, list5)))  #结果 [(1, 9, 15)]

你可能感兴趣的:(内置函数小总结(三元运算,lambda,map ,zip ))