zoukankan      html  css  js  c++  java
  • day 16内置函数总结

    reversed()
    l = [1,2,3,4,5]
    l.reverse()
    print(l)

    l = [1,2,3,4,5]
    l2 = reversed(l)
    reversed:更加节省内存资源
    print(l2)
    保留原列表,返回一个反序的迭代器

    l = [1,2,23,213,456,231314,24]
    sli = slice(1,5,2)
    print(l[sli])
    print(l[1:5:2])

    format 调整格式
    print(format('test','<20')) # 参数一: 操作字符串对象,参数二: 排列方式+申请空间大小
    print(format('test','>20'))
    print(format('test','^20'))

    bytes 转换成bytes类型
    bytes
    拿到gbk--->utf-8
    print(bytes('你好',encoding='gbk')) # Unicode转换成gbk
    print(bytes('你好',encoding='utf-8')) # Unicode转换成utf-8

    网络编程 只能传二进制
    照片和视频也是以二进制存储
    html网页爬取到的也是编码

    byte类型的数组
    修改字符串的时候可以节省内存,不足:只能通过字节编码来修改
    b_arr = bytearray('你好',encoding='utf-8')
    print(b_arr)
    print(b_arr[0])

    ord:字符按照Unicode转换成数字
    print(ord('a'))
    chr:数字按照Unicode转换成字符
    print(chr(97))

    name = "十一"
    print("你叫:%s"%name)
    print("你叫:%r"%name)
    %r 调用了repr的方法,包括引号原封不动输出
    print(repr('1'))
    print(repr(1))

    all:里面有一个false输出就是布尔值的false,类似把所有元素做&&运算
    print(all(('',[1,2,3],555)))
    print(all(('str',[1,2,3],555)))
    any:里面有一个True输出就是布尔值的True,类似把所有元素做||运算
    print(any(('',[1,2,3],555)))
    print(any(('str',[1,2,3],555)))

    zip拉链方法,是一个可迭代对象,以最少的那个对象最为拉链长度,把所有对象匹配到一起
    L1 = [1,2,3,4,5]
    L2 = ['a','b','c','d']
    L3 = ('*','**',[6,6,6])
    L4 = {'name':'jjlin','age':19}
    print(zip(L1,L2,L3))
    for i in zip(L1,L2,L3,L4):
    print(i)

    filter 过滤器:
    用法: filter(方法名, 可迭代对象iterator)
    def is_odd(x):
    return x%2 == 1 # 仅仅返回满足条件的值

    def is_str(s):
    return type(s) == str

    def del_emp(s):
    return s and str(s).strip()

    ret = filter(del_emp, [1,4,6,'hello','',' ',None,[],7,'wolrd',9,12,17]) # 过滤出所有满足条件的值
    # 上一步效果等于: [i for i in [1,4,6,7,9,12,17] if i%2 == 1]
    print(ret)
    for i in ret:
    print(i)

    题目 输出1~100中所有能被开方的数
    from math import sqrt
    print(sqrt(64))

    def can_sqrt(x):
    # j = sqrt(x)
    # return j % 1 == 0 # 判断j是一个整数
    return sqrt(x).is_integer()

    ret = filter(can_sqrt,range(1,101))
    for i in ret:
    print(i)

    map = [i for i in [1,4,6,7,9,12,17]]
    参数一:方法 ; 参数二: 变量. 功能把参数二进行参数一的操作后输出
    ret = map(abs,[1,-4,6,-8])
    print(ret)
    for i in ret:
    print(i)


    filter 执行了filter之后的结果集合 <= 执行之前的个数
    filter 只管筛选,不会改变原来的值
    map 执行前后元素个数不变
    值可能发生变化

    sorted 接受一个可迭代类型 排序

    l = [1,-4,6,5,-10]
    # l.sort(key=abs ) # key操作: 在原列表的基础上进行排序
    # print(l)

    print(sorted(l,key=abs,reverse=True)) # 重新生成一个新的排序列表,占用新的内存空间;不改变原列表
    print(l)

    l = [" ", [1, 2], "hello world"]
    print(sorted(l,key=len))
  • 相关阅读:
    P4665 [BalticOI 2015]Network 题解
    NOIp2020游记
    独立集(bubble) 题解
    密码(substring) 题解
    8.20被题虐
    开通博客了!
    CSP-S2021 记
    「CSP-S 2020」函数调用(拓扑排序+DP)
    OI生涯回忆录
    [UOJ79]一般图最大匹配(带花树)
  • 原文地址:https://www.cnblogs.com/77-is-here/p/10601334.html
Copyright © 2011-2022 走看看