zoukankan      html  css  js  c++  java
  • python中的各种数据类型中的数据格式转换

    一,转换list中的数据格式 str --> float

    (一)使用自定义函数

    def str2float(list)
          strlist=[]
          for i in list:
                strlist.append(float(i))
          return strlist
    

    小技巧:

    1.转换千分符的数字(str)为float型
    由于金融行业中的数字常常是带有千分符的,这导致这样的数字不能直接用float()来转换,因为要先处理一下

    str = "300,000,000.00"
    str = str.replace(',','')    #把字符串中的,用空来代替。
    str = float(str)
    结果: 300000000.00
    

    2.交换Dict的key,value的位置:(要注意排除value值有重复的情况)

    dict_ori = {'A':1, 'B':2, 'C':3}
    dict_new = {value:key for key,value in dict_ori.items()}
    print(dict_new)
    

    二,转换dict中的数据格式 str --> float

    1、字典名.keys:返回一个key的列表
    2、字典名.values:返回一个value的列表

    (一)转换dict中key的数据格式
    (二)使用dict中value的数据格式

    三,数据类型函数转换

    int(x [,base ]) 将x转换为一个整数
    long(x [,base ]) 将x转换为一个长整数
    float(x ) 将x转换到一个浮点数
    complex(real [,imag ]) 创建一个复数
    str(x ) 将对象 x 转换为字符串
    repr(x ) 将对象 x 转换为表达式字符串
    eval(str ) 用来计算在字符串中的有效 Python表达式,并返回一个对象
    tuple(s ) 将序列 s 转换为一个元组
    list(s ) 将序列 s 转换为一个列表
    chr(x ) 将一个整数转换为一个字符
    unichr(x ) 将一个整数转换为Unicode字符
    ord(x ) 将一个字符转换为它的整数值
    hex(x ) 将一个整数转换为一个十六进制字符串
    oct(x ) 将一个整数转换为一个八进制字符串

    千分符的数字转为真正的数字

    国际标准:

    from locale import *
    setlocale(LC_NUMERIC, 'English_US')
    atof('123,456')    # 123456.0
    

    土办法(将,代替为'')

    def convert2float(list):
          list[i]=list[i].replace(',','')
          list[i]=float(list[i])
    

    案例:
    num = 34567890.37121

    print(f'{int(num):,d}')
    34,567,890
    
    print(f'{int(num):,f}')
    34,567,890.000000
    
    print(f'{num:,f}')
    34,567,890.371210
    
    print(f'{num:,.2f}')
    34,567,890.37
    
    
  • 相关阅读:
    ES6 学习记录
    Windows 服务开发 以及 重启IIS应用池
    IIS部署.net core 3.1踩坑总结
    VS 2019背景全透明以及插件、特效
    深拷贝和浅拷贝的区别
    Vue全家桶以及常用知识点
    C#设计模式
    博客园装扮教程
    Exp5 单元测试
    Exp4 代码评审
  • 原文地址:https://www.cnblogs.com/treasury-manager/p/13813468.html
Copyright © 2011-2022 走看看