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():解码
  • 相关阅读:
    ruby 二进制转十进制 Integer("0b101") = 5
    开始菜单和我的文档的我的图片及我的音乐变成 my pictrues 正常图标了
    ruby watir 莫名其妙的错误
    Excel SaveAS是去掉提示框
    apache && jboss安装
    ruby require include的区别
    ruby控制鼠标
    This error is raised because the column 'type' is reserved for storing the class in case of inheritance
    用正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码
    ASP.NET 如何动态修改 Header 属性如添加 Meta 标签 keywords description!
  • 原文地址:https://www.cnblogs.com/hql1117/p/11040609.html
Copyright © 2011-2022 走看看