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