python数据之间的转换和关系

首先数据类型在我看来分为两类:

容器类:能存储数据,例如:元祖、列表、集合、字符串。

原子类:单纯保存数值,例如:整数、浮点数、复数。

容器类与容器类之间,一般都可以进行两两之间的转化。

原子类与原子类之间,一般也可以进行两两之间的转化。

容器类与原子类之间由于存储数据的模式不一样,因此一般不能转

 

python中常用的数据类型:整数(int)、字符串(str)、布尔值(bool)、列表(list)、元祖(tuple)、字典(dict)

还有一些步长用的数据类型:浮点数(float)、复数(complex)、可变集合(set)。

序号 原数据类型 目标数据类型                                  转化函数
1 整数 字符串 str()
2 整数 浮点数 float()
3 整数 复数 complex()
4 整数 布尔值 bool()  或chr()
5 字符串 整数 int()
6 字符串 布尔值 bool()
7 字符串 列表 list()或者split()
8 字符串 元祖 tuple()
9 字符串 集合 set()或frozenset()
10 列表 字符串 str()或join()
11 列表 元祖 tuple()
12 列表 集合 set()
13 元祖 列表 list()
14 元祖 字符串 str()或join()
15 元祖 集合 set()
16 集合 列表 list()
17 集合 字符串 str()或join()
18 集合 元祖 tuple()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.整数(int)

整数转化为字符串,部分还可以用chr()转换。

>>> str(11)
'11'
数值大小在65-90和97-122的范围之内,可以使用chr()进行字符转换
>>> chr(65)
'A'
>>> chr(120)
'x'

 整数转化为浮点数

>>> float(12)
12.0

 整数转化为复数

>>> complex(11)
(11+0j)

 整数转化为布尔值:除0之外的都是True

>>> bool(0)
False
>>> bool(1)
True

 

2.字符串(str)

字符串转化为整数,但是元素必须是数字,不然会报错。——int

>>> int('67')
67
>>> int('wo')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'wo'

 字符串转化为布尔值——bool

>>> bool('')
False
>>> bool('Hello,World')
True

 字符串转化为列表——list

>>> list('tyuigh')
['t', 'y', 'u', 'i', 'g', 'h']

 字符串转化为元祖——tuple

>>> tuple('tyuigh')
('t', 'y', 'u', 'i', 'g', 'h')

 字符串转化为集合——set

>>> set('tyuigh')
{'h', 'y', 'g', 'i', 'u', 't'}

 

3.列表

列表转化为元祖——tuple

>>> tuple(['name','sex','age'])
('name', 'sex', 'age')

列表转化为字符串——str()或join()

>>> str(['name','sex','age'])
"['name', 'sex', 'age']"
>>> ''.join(['name','sex','age'])
'namesexage'

列表转化为集合——set()

>>> li1 = [1,2,'alex']
>>> set(li1)
{1, 2, 'alex'}

 

4.元祖

元祖转化为列表——list()

>>> list(('name','kebi'))
['name', 'kebi']

元祖转化为字符串——str()或join()

>>> str(('name','sex','age'))
"('name', 'sex', 'age')"
>>> ''.join(('name','sex','age'))
'namesexage'

元祖转化为集合

>>> set(('name','sex','age'))
{'age', 'sex', 'name'}

 

5.集合

集合转换成字符串

li9 =  set(('name','sex','age'))
>>> str(li9)
"{'age', 'sex', 'name'}"
>>> ''.join(li9)
'agesexname'

 集合转换成元祖

>>> tuple(li9)
('age', 'sex', 'name')

 集合转换成列表

>>> list(li9)
['age', 'sex', 'name']

 

posted @ 2017-10-29 22:30  明王不动心  阅读(746)  评论(0编辑  收藏  举报