1.简单的强制转换
函数格式 | 使用示例 | 描述 |
int(x [,base]) | int("8") | 可以转换的包括String类型和其他数字类型,但是会丢失精度 |
float(x) | float(1)或者float("1") | 可以转换String和其他数字类型,不足的位数用0补齐,例如1会变成1.0 |
complex(real ,imag) | complex("1")或者complex(1,2) | 第一个参数可以是String或者数字,第二个参数只能为数字类型,第二个参数没有时默认为0 |
str(x) | str(1) | 将数字转化为String |
repr(x) | repr(Object) | 返回一个对象的String格式 |
eval(str) | eval("12+23") | 执行一个字符串表达式,返回计算的结果,如例子中返回35 |
tuple(seq) | tuple((1,2,3,4)) | 参数可以是元组、列表或者字典,wie字典时,返回字典的key组成的集合 |
list(s) | list((1,2,3,4)) | 将序列转变成一个列表,参数可为元组、字典、列表,为字典时,返回字典的key组成的集合 |
set(s) | set(['b', 'r', 'u', 'o', 'n'])或者set("asdfg") | 将一个可以迭代对象转变为可变集合,并且去重复,返回结果可以用来计算差集x - y、并集x | y、交集x & y |
frozenset(s) | frozenset([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) | 将一个可迭代对象转变成不可变集合,参数为元组、字典、列表等, |
chr(x) | chr(0x30) | chr()用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。返回值是当前整数对应的ascii字符。 |
ord(x) | ord('a') | 返回对应的 ASCII 数值,或者 Unicode 数值 |
hex(x) | hex(12) | 把一个整数转换为十六进制字符串 |
oct(x) | oct(12) | 把一个整数转换为八进制字符串 |
2.其他转换方法
字符串转为列表
>>> str='python'
>>> str1='python'
>>> list1=list(str1)
>>> list1
['p', 'y', 't', 'h', 'o', 'n']
>>> list2=str1.split()
>>> list2
['python']
>>> str2=
File "<stdin>", line 1
str2=
^
SyntaxError: invalid syntax
>>> str3 = "www.google.com"
>>> list=str3.split('.')
>>> list
['www', 'google', 'com']
>>>
列表转换为字符串
>>> list1=['a','b','c','d']
>>> str1=''.join(list1)
>>> str1
'abcd'
>>> str2='.'.join(list1)
>>> str2
'a.b.c.d'
>>> str2='. '.join(list1)
>>> str2
'a. b. c. d'
列表转换成字典
1.现在有两个列表,list1 = ['key1','key2','key3']和list2 = ['1','2','3'],把他们转为这样的字典:{'key1':'1','key2':'2','key3':'3'}
>>>list1 = ['key1','key2','key3']
>>>list2 = ['1','2','3']
>>>dict(zip(list1,list2))
{'key1':'1','key2':'2','key3':'3'}
2、将嵌套列表转为字典,有两种方法,
>>>new_list= [['key1','value1'],['key2','value2'],['key3','value3']]
>>>dict(list)
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
或者这样:
>>>new_list= [['key1','value1'],['key2','value2'],['key3','value3']]
>>>new_dict = {}
>>> for i in new_list:
... new_dict[i[0]] = i[1] #字典赋值,左边为key,右边为value
...
>>> new_dict
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1'}
>>> new_list= [['key1','value1'],['key2','value2'],['key3','value3']]
>>> for i in new_list:
... new_dict={}
... new_dict[i[0]]=i[1]
...
>>> new_dict
{'key3': 'value3'}
字典转换成列表
①转换后的列表为无序列表
a = {'a' : 1, 'b': 2, 'c' : 3}
#字典中的key转换为列表
key_value = list(a.keys())
print('字典中的key转换为列表:', key_value)
#字典中的value转换为列表
value_list = list(a.values())
print('字典中的value转换为列表:', value_list)
运行结果:
②转换后的列表为有序列表
import collections
z = collections.OrderedDict()
z['b'] = 2
z['a'] = 1
z['c'] = 3
z['r'] = 5
z['j'] = 4
#字典中的key转换为列表
key_value = list(z.keys())
print('字典中的key转换为列表:', key_value)
#字典中的value转换为列表
value_list = list(z.values())
print('字典中的value转换为列表:', value_list)
字典与字符串之间的转换
#字典转换成字符串
json.dumps(dict1)
>>> import json
>>> str2=json.dumps(dict1)
>>> str2
'{"key2": "value3", "key1": "value1", "key": "value"}'
>>>
str(dict1)
>>> str3=str(dict1)
>>> str3
"{'key2': 'value3', 'key1': 'value1', 'key': 'value'}"
>>>
#字符串转换成字典