python中的各种转化

时间:2023-03-10 06:48:46
python中的各种转化

1、数之间的转化

#浮点型to整型
>>> int(5.6)
5
#整型to浮点型
>>> float(5)
5.0

2、数与字符串

#字符串to整型
>>> int(')
10
#字符串to浮点型
>>> float('3.14')
3.14
#数to浮点型
>>> str(10)
'

3、布尔数与其他

使用bool()函数强制转换对象为布尔数。若要转化的对象是0、0.0、''、None、或空序列,则转化后为false。

>>> bool()
False
>>> bool('')
False
>>> bool(' ')
True
>>> bool(0)
False
>>> bool(0.)
False
>>> bool(None)
False
>>> bool([])
False
>>> bool({})
False

4、字符与ASCII编码

使用chr()和ord()函数进行字符与ASCII编码间的转化。

>>> ord('王')
29579
>>> ord('a')
97
>>> chr(46)
'.'
>>> chr(97)
'a'

5、进制转化

八进制、十六进制可直接参与计算,输出十进制的结果,如:

>>> 0x16 + 1
23

这里的八进制、十六进制指其字符串形式。

#十进制to十六进制
>>> hex(16)
'0x10'
#十进制to八进制
>>> oct(8)
'0o10'
#十六制to十进制
>>> int('0x16',16)
22
#八进制to十进制
>>> int('0o16',8)

6、序列、字典、集合间的转化

序列包括字符串、元组和列表。列表和字典是python中的主力数据结构。

  • 元组转化
#转化自字符串
>>> tuple('foundyou')
('f', 'o', 'u', 'n', 'd', 'y', 'o', 'u')
#转化自列表
>>> tuple([[1, 2, 3], ['a', 'b', 'c']])
([1, 2, 3], ['a', 'b', 'c'])
#转化自集合
>>> tuple({1, 2, 4})
(1, 2, 4)
  • 列表转化
#转化自字符串
>>> list('whatareyou')
['w', 'h', 'a', 't', 'a', 'r', 'e', 'y', 'o', 'u']
#转化自元组
>>> list(((1, 2), (3, 4)))
[(1, 2), (3, 4)]
#转化自集合
>>> list({1, 2, 3})
[1, 2, 3]
#转化自字典,结果为字典的key形成的列表
>>> list({1 : 2, 3 : 4})
[1, 3]
  • 字典转化
#转化自列表,元组同理
>>> dict([[1, 3], ['s', 78]])
{1: 3, 's': 78}
#还可通过zip()函数“配对”后再转化
>>> dict(zip([1, 2], [3, 4]))
{1: 3, 2: 4}
  • 集合转化
#转化自字符串
>>> set('how to quit u')
{'t', 'w', 'h', 'o', 'u', 'q', 'i', ' '}
#转化自列表,元组同理
>>> set([1, 2, (2, 3)])
{1, 2, (2, 3)}

这些转换可以只记住基本的,使用时就地测试。