zoukankan      html  css  js  c++  java
  • python基础【第九篇】

    补充知识

    1.字符串方法的补充

    s = str()
    s.format() # 格式化输出
    "连接符".join("连接的对象") # 拼接
    s.find() # 字符串的查找
    s.capitalize() # 首字母大写
    s.title() # 单词的首字母大写
    s.index("e") # 查找某个对象的索引值
    s.center(20) # 居中显示字符串
    s.encode("utf-8") # 编码
    s.swapcase() # 字符串大小写互换
    

    2.列表方法的补充

    lst = list()
    lst.sort() # 列表的排序,默认为升序
    lst.reverse() # 列表的反转
    lst.sort(reverse=True)  #列表排序,降序排列
    print(lst)
    

    3.字典方法的补充

    dic = dict()
    dic.fromkeys("参数一","参数二") 
    # 批量创建键值对和字典 参数1:可迭代对象,参数2:创建时公用这个值
    

    4.面试时经常遇到的坑

    # 面试题1
    列表
    lst2 = [1,2,[]]
    lst3 = lst2 * 3
    print(lst2)
    print(lst3)   # []公用一个内存空间地址
    lst3[-1].append(5)
    print(lst3)
    # lst3[]里都加入了5,因为[]公用了一个内存空间的地址
    
    元组
    tu1 = (1,2,[])
    tu2 = tu1 * 3
    tu2[-1].append(10)
    print(tu2)
    同上[]公用了一个内存空间的地址
    
    字典
    dic = {}
    dic = dic.fromkeys("abc",[])
    print(dic)
    dic["a"] = "8"
    print(dic)
    将字典里的键"a"对应的元素修改为了8,不影响后续列表
    
    # 面试题2
    循环删除元素
    1.for循环自己维护了计数
    2.列表有个自动补位的效果
    lst = [1,2,3,4,5,6,7]
    for i in range(len(lst)):
        if i % 2 == 1:
            lst.pop(i)
    print(lst)
    for i in range(len(lst)-1,-1,-1):
        if i % 2 ==1:
            lst.pop(i)
    print(lst)
    利用for循环,与列表索引进行循环删除列表元素的时候,需要注意列表的自动补位机制
    由于自动补位机制的影响,删除时会存在索引超出的情况,因此可以选择倒序删除
    
    练习题1
    删除列表元素中开头为周的数据
    lst = ["周星驰","周芷若","马冬梅","大润发","周杰伦","张杰"]
    lst1 = lst[:]
    for i in lst1:
        if i.startswith("周"):
            lst.remove(i)
    print(lst)
    
    字典和集合循环删除的坑:
    dic = {"key":1,"key2":2,"key3":4}  # 大小就是字典的总长度
    for i in dic:
        dic[i] = i
    print(dic)
    
    字典和集合在循环的时候不能改变原来的大小
    dic = {"key":1,"key2":2,"key3":4}
    dic1 = dic.copy()
    for i in dic1:
        del dic[i]
    print(dic)
    
    

    5.编码进阶

    s = "你好"
    s1 = s.encode("utf-8")
    s2 = s1.decode("utf-8")
    print(s2)
    print(s.encode("gbk"))
    用什么编码就用什么进行解码
    
  • 相关阅读:
    正则匹配中 ^ $ 和  的区别
    jQuery 选择同时包含两个class的元素的实现方法
    JSON—去除JSON数据中的所有HTML标…
    HTML5 自定义属性 data-*属性名一定要小写吗?
    Java线程池(ExecutorService)使用
    ExecutorService中submit和execute的区别
    启用Microsoft loopback Adapte
    【Spring】如何配置多个applicationContext.xml文件
    C#编程之AES加密(一)
    C#编程之利用C#创建dll并调用(三)
  • 原文地址:https://www.cnblogs.com/tianming66/p/11735320.html
Copyright © 2011-2022 走看看