zoukankan      html  css  js  c++  java
  • Python------预谋

    一,数据类型补充

    1. 字符串str

      s = "aa111aa"
      print(s.capitalize())  # 首字母大写,只有第一个字母大写
      print(s.title())       # 每个单词首字母大写,单词中间用特殊字符或中文隔开
      print(s.count("a"))    # 统计"a"出现的次数
      print(s.swapcase())    # 大小写转换
      print(s.find("a"))     # 查找"a"的第一个索引,查找不到的时候返回-1
      print(s.index("a"))    # 查找"a"的第一个索引,查找不到的时候报错
      
    2. 列表list

      li = [1,2,3,4]
      l2 = list("1234")   # 定义的一种方式
      print(li.count(1))  # 统计1出现的次数
      print(li.index(1))  # 查找1的第一个索引,查找不到就报错
      li.reverse()         # 原地反转
      li.sort(reverse=True) # 排序,默认升序,加True就降序
      
    3. 元组tuple

      tu = (1,2,3,4,5)
      tu1 = tuple("12345") # 定义的一种方式
      tu.count(1)  # 统计
      tu.index(1)  # 通过元素找索引,找不到就报错
      
    4. 字典dict

      dic = {1:"a",2:"b"}
      dic1 = dict(k=1,k1=2)  # 定义的一种方式
      dic.popitem()   # 随机删除,返回删除的值,3.6版本后默认删除最后一个键值对
      dic2 = dict.fromkeys("123",1)  # 批量创建字典,迭代key,value相同,指向同一内存地址
      
    5. 结合set

      s = set("1234")  # 定义的一种方式
      
    6. 类型转换

      str => int :字符串中必须全部都是十进制的数字
      int => str :直接转换
      str => list :
      s = "1234"
      lst = list(s) => ["1","2","3","4"]
      或用split()切割
      list => str :使用join进行拼接,元素中不能有int
      list => tuple :直接转换
      set => list :直接转换
      总结:
      字符串 -- 数字  :字符串中必须都是十进制的数字
      数字 -- 字符串  :直接转换
      列表 -- 字符串  :join()拼接--可迭代的对象中不能出现数字
      字符串 -- 列表  :split()分割
      除字典外,容器数据类型都能直接相互转换
      
    7. 总结

      有序: str,int,bool,list,tuple
      无序: dict,set
      可变: list,dict,set
      不可变: str,int,bool,tuple
      
      访问方式:
      直接访问: int,bool,set
      顺序访问:str,list,tuple
      键访问: dict
      

    二,坑人的删除

    li = [1,2,3,4,5]
    # 面试题:要求用一个for循环对删除上述列表索引为奇数位置的元素
    for el in range(len(li)-1,-1,-1):
        if el % 2 == 1:
            li.pop(el)
    print(li)
    # 尽量不要在for循环遍历列表的同时修改列表本身的大小
    
    # for循环迭代字典过程中改变字典的大小会报错
    

    三,编码进阶

    • python3内存使用的是unicode
    • python2内存使用的是ascii
    • 用什么编码就用什么解码
    • encode():编码
    • decode():解码
  • 相关阅读:
    58:二叉树的下一个节点
    57:删除链表中重复的结点
    56:链表中环的入口结点
    55:字符流中第一个不重复的字符
    54:表示数值的字符串
    53:正则表达式匹配
    52:构建成绩数组
    51:数组中重复的数字
    每个努力奋斗过的人,被不公正的际遇砸了满头包的时候,都有那么一瞬间的代入感。出生就是hard模式的人,早已经历了太多的劳其筋骨饿其体肤,再多的人为考验只会摧毁人对美好的向往。
    ClientValidationEnabled
  • 原文地址:https://www.cnblogs.com/hql1117/p/11040609.html
Copyright © 2011-2022 走看看