zoukankan      html  css  js  c++  java
  • 数据类型之间的转换

    总结

    '''
    1:数字类型:算术运算
    bool:判断真假,运用场景在逻辑运算里较多,比如while循环了。
    字符串:可以索引取值,可以嵌套
    列表:存放任意数据类型,因为是按序存放的,故可以索引取值,
    字典:可以理解为某种意义上的列表,但区别是存放是无序的,故存放效率高,另外会对数据进行描叙性表述,故取值时是按key来取值的
    元组:给看不给“改”的列表
    集合:对数据去重
    2:数字类型和字符串转化 int,float,str,
    列表转字符串: ''.join() 不分开 | 'x'.join()==>以x隔开,
    字符串转列表: res.split() 默认按空格拆 res.split(x) x属于res,则去掉x,两边开
    list与tuple、set直接相互转化 参考数字和字符串格式
    str与tuple、set之间转化通过list转化
    3:utf-8在传输过程中运用,理解为压缩包比较好,传输快 utf-16 字节固定,读取内容快
     
    数字类型之间的转化 
    主要关注两个用法
      join  组合  用于  列表转为字符串  
      split 拆分  字符串转化为列表
    字典与其他之间的转化   间接转化
    '''

     

    1 转化为数字类型 

    res = int('10')   # 字符串转化为数字
    print(res)
    res = int('-3')
    print(res)
    res = float('.15')
    print(res)  # 0.15
    res = float('-.15')
    print(res)  # -015
    res = float('-3.15')
    print(res)  # -3.15
    

    2 字符串和列表相互转换

    1 字符串转化为列表

    1 直接list转化

    s = 'abc123呵呵'
    print(list(s))  # ['a', 'b', 'c', '1', '2', '3', '呵', '呵'] 字符串转列表
    

    2 使用split转化 

    split() 默认按照空格拆   

     res.split(x)   x属于res,则去掉x,两边开

    s1 = 'a b c 1 2 3 呵 呵'
    res = s1.split()  # 把字符串转化为列表  默认按空格拆
    print(res)  # ['a', 'b', 'c', '1', '2', '3', '呵', '呵']
    
    s2 = 'ie=UTF-8&wd=你好帅'
    res = s2.split('&')  # 字符串改列表
    print(res)  # ['ie=UTF-8', 'wd=你好帅']   split默认按空格来隔开,s2.split('&')则是把&两边分开为列表,去掉&
    # 比如- 或8,只要是在s2里就行
    

      

     2 列表转为字符串

    主要方法是join     " ".join(list)   直接组合成字符串

    ls = ['a', 'b', 'c', '1', '2', '3', '呵', '呵']
    n_s = "".join(ls)
    print(n_s,type(n_s))

    # abc123呵呵 <class 'str'>

      

    "x".join(list)  将列表组合在一起  以@为中间

    ls2 = ['ie=UTF-8', 'wd=你好帅']
    n_s2 = '@'.join(ls2)
    print(n_s2)  # ie=UTF-8@wd=你好帅     ''.join() 中''可以加其他的 比如@ 或4  则列表组合中间多一个其他
    
    # ie=UTF-8@wd=你好帅
    

      

    案例

    # 4:需求:"ie=UTF-8&wd=你好帅" => [('ie', 'UTF-8'), ('wd', '你好帅')]
    
    
    s = "ie=UTF-8&wd=你好帅"
    res = []
    ls4 = s.split("&")
    print(ls4)  # ['ie=UTF-8', 'wd=你好帅']
    
    for ele in ls4:
        print(ele)  # ie=UTF-8
                    # wd=你好帅
        k,v = ele.split("=")   # v = ie=UTF-8 | wd=你好帅  for 循环把每个值取出来
        res.append((k,v))      # k: ie  v: UTF-8   赋值 k ,v = ele.split('=')
    
    print(res)
    

      

    # 5.需求:"ie=UTF-8&wd=你好帅" => {'ie': 'UTF-8', 'wd': '你好帅'}
    res = {} s5 = "ie=UTF-8&wd=你好帅" ls5 = s5.split('&') # ['ie=UTF-8', 'wd=你好帅'] for ele in ls5: k, v = ele.split('=') # 去掉 = print(k,v) # ie UTF-8 wd 你好帅 res[k] = v # 添加字典的模式 res[k] = v 如果字典中res,有k这个,则把值v赋值给k,如果没有,则在字典中添加k:v print(res) # {'ie': 'UTF-8', 'wd': '你好帅'}

      

    #  6.需求:[('ie', 'UTF-8'), ('wd', '你好帅')] => {'ie': 'UTF-8', 'wd': '你好帅'}
    res = {}  # 建立新的空字典
    ls6 = [('ie', 'UTF-8'), ('wd', '你好帅')]
    for k, v in ls6:
        res[k] = v
    print(res)
    

      

    3.list与tuple、set直接相互转化

      - 直接 类型()
    # 8.需求:将汉字转化为数字
    # 将 壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟
    # 转化为 1、2、3、4、5、6、7、8、9、10、100、100
    # 作业:壹仟捌佰玖拾叁 => 1893
    
    num_map = {
        '壹': 1,
        '贰': 2,
        '仟': 1000
    }
    ls8 = ['贰', '壹', '仟']
    res = []
    for v in ls8:
        num = num_map[v]  # 通过key去映射表拿到对应的值,完成 '贰' => 2
        res.append(num)
    print(res)
    

      

     

     
     

      

  • 相关阅读:
    VS2008正式版序列号
    清空SQL Server数据库中所有的用户表
    [原创]JavaScript调用Button的服务器端事件
    动态加载枚举 到 DropdownList
    [转载]静态构造函数
    SQL 事务 [两种]
    Jpg文件格式[参考]
    Delegate Event
    javascript 操作cookie类
    [共享]一个文件上传的控件,绝对是精品源码
  • 原文地址:https://www.cnblogs.com/wakee/p/11587966.html
Copyright © 2011-2022 走看看