• PythonDay07


    第七章

    今日内容

    • 基础数据类型补充

    • 以后会遇到的坑

    • 二次编码

    基础类型补充

    str
    a = "One two"
    print(a.capitalize())   # 首字母大写
    print(a.title())       # 每个单词首字母大写
    print(a.swapcase())     # 大小写转换
    print(a.center(20,"=")) # 居中 - 填充
    print(a.find("c"))       # 查找 通过元素查找索引,查找不到时返回-1
    print(a.index("c"))       # 查找 通过元素查找索引,查找不到时就报错
    print("_".join(["1","2","4"])) # 拼接,将列表转换成字符串
    str + str
    str * 5
    #字符串进行加操作,乘操作都是开辟新的空间
    list
    # 列表的一种定义方法
    print(list('123445'))
    # 列表的方法:
    lst = [1,23,4,5,7,8,9]
    print(lst.index(4))       # 通过元素查找索引
    lst.sort()                 # 排序 默认是升序
    lst.sort(reverse=True)     # 降序

    lst.reverse() #将源数据进行反转
    print(lst)

    lst = [1,5,7,9,4,23,546,78]
    lst1 = lst[::-1] #不修改源数据进行反转
    dict
    dic = {"key":1,"key1":2,"key2":4,"key3":1}
    print(dic.popitem())   # 随机删除 python3.6版删除最后一个键值对
    #popitem返回的是被删除的键值对
    print(dic)

    dic = {}
    dic = dic.fromkeys("abc",[])
    print(dic)
    dic["b"] = 11
    dic["a"].append(10)
    print(dic)

    运行结果:
    {'a': [], 'b': [], 'c': []}
    {'a': [10], 'b': 11, 'c': [10]}

    fromkeys 第一个参数必须是可迭代对象,会将可迭代对象进行迭代,成为字典的键.第二个参数是值(这个值是共用的)
    fromkeys 共用的值是可变数据类型就会有坑,不可变数据类型就没事
    基础数据类型总结:
    可变,不可变,有序,无序
    1.可变:
        list
        dict
        set
    2.不可变:
    int
      str
      bool
      tuple
    3.有序:
      list
        tuple
        str
    4.无序:
        dict
        set
    取值方式:

      1.索引
          list
          tuple
          str
       
      2.键
          dict
       
      3.直接
          int
          bool
          set

    数据类型转换
    str -- int
    int -- str
    str -- bool
    bool -- str
    int -- bool
    bool -- int
    重要: *****
    list -- str
    lst = ["1","2","3"]
    print("".join(lst))

    str -- list
    s = "alex wusir 太白"
    print(s.split())

    目前字典转换,自己实现方法
    重点
    重点:
    find
    join
    列表乘法
    元组(1,)
    list -- str
    str -- list

    以后会遇到的坑

    • 死循环

    lst = [1,2,3]
    for i in lst:
    lst.append(4)
    • 用for循环删除所有元素

    # 错误示范
    lst = [11,22,33,44]
    for i in lst:
        lst.remove(i)
    print(lst)
    
    # 正确代码
    lst = [11,22,33,44]
    for i in range(len(lst)):
        del lst[-1]
    print(lst)
    
    for i in range(len(lst)):
        lst.pop()
    print(lst)
    
    # 创建一个浅拷贝的列表,循环它的次数,删除源数据的数据
    lst = [11,22,33,44]
    lst1 = lst[:]
    for i in lst1:
        lst.remove(i)
    print(lst)
    

    使用for循环清空列表元素内容 1.从后向前删除, 2.创建一个新的容器,循环新的容器删除旧的容器内容

    面试题:
    lst = [1,[2]]
    lst[1] = lst
    print(lst)
        
    答案: [1, [...]]
    
    字典和集合
    dic = {"key":1,"key1":2}
    
    for i in dic:
        if i == "key1":
            dic[i] = dic[i] + 8  # dic[i] = 10
        else:
            print("没有这个键!")
    print(dic)
    
    字典和集合在遍历(循环)时不能修改原来的大小(字典的长度),可以进行修改值
    # 以下会报错
    
    s = {1,2,3,4,5,6}
    for i in s:
        s.pop()
    print(s)
    

    Set changed size during iteration

    二次编码

    必会
    # python3: 默认编码unicode
    # pyhton2:默认编码ascii,不支持中文
    

    以后会遇到的坑

    二次编码

  • 相关阅读:
    是用VLC API将RTSP流convert为视频文件
    VLC命令行的应用
    OpenRTSP的使用
    (3两个例子)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
    寻找轮廓的中点
    (4程序框架)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
    (2环境架设)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
    (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
    初步实现GoQtTemplate
    特征提取算法的综合实验(多种角度比较sift/surf/brisk/orb/akze)
  • 原文地址:https://www.cnblogs.com/xuyuwei/p/11328297.html
Copyright © 2020-2023  润新知