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

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

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

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

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

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

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)
''
数值大小在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
>>> 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']

python数据之间的转换和关系的更多相关文章

  1. C#字符串和数据之间的转换

    c#中不仅仅存在数值类型的数据之间的转换,字符串和数值之间也是可以互相转换的,只是方法不同而已. 1 数值型转换为字符型 数值型数据转换为字符串用ToString()方法即可实现 int num1=1 ...

  2. JavaBean和json数据之间的转换(一)简单的JavaBean转换

    1.为什么要使用json? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,因为其高性能.可读性强的原因,成为了现阶段web开发中前后端交互数据的主要数据 ...

  3. JavaBean和json数据之间的转换(二)含有date类型的JavaBean

    1.前言 上次讲了简单的JavaBean和json格式之间的转换,代码很简单,但是实际过程中,往往用到的JavaBean都是比较复杂的,其他的字段还好,如果JavaBean中包含了date类型的字段, ...

  4. unicode下char*和CString和一些数据之间的转换

    首先mfc下字符串只有两种数据:char(一个字节)和wchar_t(两个字节),很多其他数据类型如TCHAR,WCHAR等都是这个两个基本类型的宏定义,BYTE是uchar 1.对话框打印char* ...

  5. unicode下数据之间的转换

    首先mfc下字符串只有两种数据:char(一个字节)和wchar_t(两个字节),很多其他数据类型如TCHAR,WCHAR等都是这个两个基本类型的宏定义,BYTE是uchar 1.对话框打印char* ...

  6. python类型之间的转换

    *int(x,base=10)x字符串或数字,base进制数,默认十进制 浮点转为整数 *float 整数转换为浮点型 *complex(1,2) 转换为复数 *str(10)将对象转换为字符串 *r ...

  7. 基本数据类型,包装类型,String类型数据之间的转换

    java中所有的类都从java.lang.Object类派生而来,在java语言中,除基本数据类型以外,基本数据类型有java类库体统了包装类:Integer类保存整形变量,Boolean类保存布尔变 ...

  8. python数据类型之间的转换

    1,字符串转整型,前提条件是该字符串为纯数字. a = '1' a = int(a) 2,整型转字符串 a= 1 a = str(a) 3,整型转浮点型 a = 1 a = float(a) 4,浮点 ...

  9. 转转转--Java File和byte数据之间的转换

    package cn.iworker.file; import java.io.BufferedOutputStream; import java.io.ByteArrayOutputStream; ...

随机推荐

  1. hdu 4821 字符串hash+map判重 String (长春市赛区I题)

    http://acm.hdu.edu.cn/showproblem.php?pid=4821 昨晚卡了非常久,開始TLE,然后优化了之后,由于几个地方变量写混.一直狂WA.搞得我昨晚都失眠了,,. 这 ...

  2. 基于Python3 + OpenCV3.3.1的远程监控程序

    基于Python3 + OpenCV3.3.1的远程监控程序 一.环境配置 OpenCV是一个基于(开源)发行的跨平台计算机视觉库,利用OpenCV能够实现视频图像的捕获. 关于python3中Ope ...

  3. DM36x IPNC OSD显示中文 --- 基础知识篇

    为了简单起见,只显示GB2312(简体中文)字符一.GB2312汉字编码1.区位码在国标GB2312—80中规定,所有的国标汉字及符号分配在一个94行.94列的方阵中,方阵的每一行称为一个“区”,编号 ...

  4. Creating Dialogbased Windows Application (1) / 创建基于对话框的Windows应用程序(一)新建窗体 / VC++, Windows

    创建基于对话框的Windows应用程序(一) —— 新建窗体 1.新建一个Visual C++的Empty Project.  2.在Solution Explorer中右键Add New Item, ...

  5. 61. Search for a Range【medium】

    61. Search for a Range[medium] Given a sorted array of n integers, find the starting and ending posi ...

  6. 移动端数据库新王者:realm

    介绍 realm是一个跨平台移动数据库引擎,支持iOS.OS X(Objective-C和Swift)以及Android. 2014年7月发布.由YCombinator孵化的创业团队历时几年打造,是第 ...

  7. AES中几种加密模式的区别:ECB、CBC、CFB、OFB、CTR

    AES: aes是基于数据块的加密方式,也就是说,每次处理的数据时一块(16字节),当数据不是16字节的倍数时填充,这就是所谓的分组密码(区别于基于比特位的流密码),16字节是分组长度 分组加密的几种 ...

  8. nginx+python+fastcgi环境配置(flup版本)

    昨天花了一整天的时间研究搭建了nginx+python+fastcgi环境,并测试没问题,由于是第一次,并且参考了网上很多东西,网上也有很多,但还是把自己的过程记录下. 主要感谢这位兄弟的文章给了我很 ...

  9. Centos 7 启动错误:XFS_WANT_CORRUPTED_GOTO 修复

    参考源 如果出现以下报错 [sda] Assuming drive cache: write through Internal error xfs XFS_WANT_CORRUPTED_GOTO at ...

  10. shell学习五十八天----/proc文件系统

    /proc文件系统 前言:linux中的/proc文件系统,由一组文件夹和文件组成,挂载(mount)与/proc文件夹下. /proc文件系统是一种虚拟文件系统,以文件系统文件夹和文件形式,提供一个 ...