Python编程技术:Python数据类型转换
Python数据类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。
函数 | 说明 |
---|---|
int(x [,base ]) | 将x转换为一个整数(x为字符串或数字,base进制数,默认十进制 浮点转为整数) |
float(x) | 将x转换到一个浮点数 |
complex(real [,imag]) | 创建一个复数 |
str(x) | 将对象 x 转换为字符串 |
repr(x) | 将对象 x 转换为表达式字符串 |
tuple(s) | 将序列 s 转换为一个元组 |
list(s) | 将序列 s 转换为一个列表 |
set(s) | 转换为可变集合 |
dict(d) | 创建一个字典。d 必须是一个 (key, value)元组序列。 |
frozenset(s) | 转换为不可变集合 |
chr(x) | 将一个整数转换为一个字符 |
ord(x) | 将一个字符转换为它的整数值 |
hex(x) | 将一个整数转换为一个十六进制字符串 |
oct(x) | 将一个整数转换为一个八进制字符串 |
整型的4种表现形式
2进制:以’0b’开头。例如:'0b11011’表示10进制的27
8进制:以’0o’开头。例如:'0o33’表示10进制的27
10进制:正常显示
16进制:以’0x’开头。例如:'0x1b’表示10进制的27
4种进制的转换:通过python中的内置函数(bin、oct、int、hex)来实现转换
列表、元组、集合、字典相互转换
1、列表元组转其它
列表转集合(去重)
list1 = [6, 7, 7, 8, 8, 9]
print(set(list1))
Python3结果:{6, 7, 8, 9}
两个列表转字典
list1 = ['key1','key2','key3']
list2 = ['1','2','3']
print(dict(zip(list1,list2)))
Python3结果:{'key1': '1', 'key2': '2', 'key3': '3'}
嵌套列表转字典
list3 = [['key1','value1'],['key2','value2'],['key3','value3']]
print(dict(list3))
Python3结果:{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
列表、元组转字符串
list2 = ['a', 'a', 'b']
print(''.join(list2))
Python3结果:aab
tup1 = ('a', 'a', 'b')
print(''.join(tup1))
Python3结果:aab
2、字典转其他
字典转换为字符串
dic1 = {'a':1,'b':2}
print(str(dic1))
Python3结果:{'a': 1, 'b': 2}
字典key和value互转
dic2 = {'a': 1, 'b': 2, 'c': 3}
print({value:key for key, value in dic2.items()})
Python3结果:{1: 'a', 2: 'b', 3: 'c'}
3、字符串转其它
字符串转列表
s = 'aabbcc'
print(list(s))
Python3结果:['a', 'a', 'b', 'b', 'c', 'c']
字符串转元组
print(tuple(s))
Python3结果: ('a', 'a', 'b', 'b', 'c', 'c')
字符串转集合
print(set(s))
Python3结果:{'a', 'b', 'c'}
字符串转字典
s = "{'name':'Tom', 'age':18}"
dic2 = eval(s)
print(dic2)
Python3结果:{'name': 'Tom', 'age': 18}
a = '{"name":"Rose","age":19}'
print(eval(a))
Python3结果:{'name': 'Rose', 'age': 19}