• python之路_数据类型知识补充


    知识点回顾与补充:

    1. 数据类型

    2. for和while:continue、break

      for 循环嵌套实例;

    #问题:实现输出结果1 10 2
    #代码1:
    flag = False
        for i in range(1,10):
            print(i)
            if flag:
                break
            for i in range(10,20):
                print(i)
                flag = True
                break
    #代码2:
    for i in range(1,10):
        print(i)
        if i==2:
            break
        for i in range(10,20):
            print(i)
            break

    3. 计算机编码
      ascii - 8位
      unicode - 16,32位
      utf-8 - 8 ~ 32位
      gbk - 16位
    4. 字符串格式化
      - "asdf%s,sdfsdf%d" %('11',4)   #占位符格式化才有意义,如print("asdf%s,sdfsdf%d")输出内容不变
      - "asdf%s,sdfsdf%%" %'11'         #字符串格式化中要保留%需要写两个%%

    补充知识:(用变量对含占位符字符串进行表示,方便多次字符串格式化调用)

    #实例:
    tpl = "我叫%s,你好!"
    name1 = tpl %('骑兵',)
    name2 = tpl %('步兵',)
    print(name1,name2)

    5. 变量
      不要使用python中已经使用的变量:list,str,tuple,dict,bool
    6. 条件语句
    7. 长度
      len(xxxx)

    8. 索引操作

      可以应用于如下数据类型:str、list、tuple、dict

    9. 运算符
      - 除法    #除法/:python2中得整数商,python3中为正常除法,而python3中整数商除法为://
      - 字符串相乘   #可以将字符串多次重复
      - 逻辑运算符or and    #按顺序判断,当遇见or时结果为真,后面内容不再执行 
      - in  

    in判断实例展示:
      dic = {'k1': 'v1','k2': 'v2'}

      li = [11,22,33,44]

    # (1)列表,查看是否存在其中
      if 11 in li:
        pass
    # (2)字典,查看key是否在其中
      a.for item in dic:
        print(item)
      b.for k in dic.keys():
        print(k)
      c.if "k1" in dic:
        pass
    #( 3) 字典,查看value是否在其中

      循环实现,检查“v1”是否在字典 dic = {'k1': 'v1','k2': 'v2'} 的值中

    #方法1
    dic = {'k1': 'v1','k2': 'v2'}
    val = "v1"
    for v in dic.values():
      if val in v:
        print(True)
    #方法2
    dic = {'k1': 'v1','k2': 'v2'} 
    val = "v1"
    result = False
    for item in dic.values():
        if item == val:
            result = True
        break
    print(result)
            

    10. py2与py3(前者为py2)
      用户输入函数:
        raw_input()
        input()

      range():
        range()   #生成连续数字,列表类型
        xrange() #for循环时才能使用,未知类型

        range()
      编译器默认使用的编码类型:
        ascii(代码前加:#-*-encoding:utf-8 -*-可以更改为utf-8编码)
        utf-8

      输入函数:

        print "alex"   #一般没有括号,有也是可以
        print('alex')  #必须有括号
    11. 字符串方法(字符串本身不变化)

      #name="asdwwbaaknmcnAKHL"
      a. 大小写:name.upper()、name.lower()
      b.首字母大写:name.capitalize()

      c.分割:a,b = split('*',1)

      d.去除空白:strip  e. 替换:replace

      f. "xx".join(["11","22",])
     
     g.是否是十进制数

      h.判断是否以什么开头或者结尾:startwith()/endwith()
    12. 列表
      - 追加:append()
      - 插入:insert()
      - 反转:reverse()
      -长度:len()
        -for循环

    补充:
     问题:索引为奇数值,删除
      # 删除列表元素时,会影响列表长度,从而使得索引取值时,容易出现错误。
      例题:li = [11, 22, 33, 44, 66]     # 索引为奇数值,删除

    思路1:

    # 解决方案一:
    li = [11, 22, 33, 44, 66]
    new_list = []
    for i in range(0,len(li)):
        if i%2 == 0:
            new_list.append(li[i])
    li = new_list
    print(li)
    
    # 解决方案二:
    li = [11, 22, 33, 44, 66]
    for i in range(len(li)-1,-1,-1):
        if i%2 == 1:
            del li[i]
    print(li)

    思路2:切片+步长

    li = [11, 22, 33, 44, 66] 
    del li[0:4:2]
    print(li)

    13. tuple
      - 元素,不可变
      - 只有一个元素时,一定加逗号

    #例1:
    val = (1) print(type(val)) #输出结果为:整数类型 #例2: val = (1,) print(val,type(val)) #输出结果为:元组类型

    14. dict

    get方法(get方法提取字典元素时,即使key不存在也不会报错,输出None):

    实例:
    dic
    = {'k1':"v1",'k2':'v2'} data = dic.get('kk1') print(data) #None

    出错点:
      例 题:dic = {'u1':"v1",'k2':'v2','k3':'v3'}把key中存在k,键值对删除

      Tips:不要在循环当前字典的过程中,修改当前字典大小

    # 错误方法:
    dic = {'u1':"v1",'k2':'v2','k3':'v3'}
     for key in dic:
        if 'k' in key:
            del dic[key]
    print(dic)
    
    # 正确方式
    dic = {'u1':"v1",'k2':'v2','k3':'v3'}
    dic_key_list = []
    for key in dic:
        dic_key_list.append(key)
    for row in dic_key_list:
        if 'k' in row:
            del dic[row]
    print(dic)

    14. int
      - 最少用多少二进制位表示:bit_length()
    15. 数据类型的相互转换

    #字符串与整数
    v = "123"
    val = int(v)
    
    v = 123
    val = str(v)
    
    #元组与列表
    v = (1,2,3,)
    val = list(v)
        # val = []
        # for item in v:
        # val.append(item)
    
    v = [11,22,33,44]
    val = tuple(v)

    16. 布尔值
      - True,False
      -常见 False情况: 0,None,"",{},[],()

  • 相关阅读:
    Centos7安装nodejs(npm)
    Centos7安装docker
    在目标服务器Centos7上安装 GitLab Runner
    PC端,知乎在不想登录的情况下一打开就弹出登录框的无痛解决办法
    mac下webstrom卡顿快速解决办法
    解决项目中使用momentJS文件 体积过大的问题
    发布订阅模式及多种实现方式:
    「react进阶」react开发者的不得不知道的八条优化建议
    Gulp、Webpack 有什么区别
    react 源码解析(上)
  • 原文地址:https://www.cnblogs.com/seven-007/p/7410995.html
Copyright © 2020-2023  润新知