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'}"
>>> 

#字符串转换成字典