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)
''
数值大小在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数据之间的转换和关系的更多相关文章
- C#字符串和数据之间的转换
c#中不仅仅存在数值类型的数据之间的转换,字符串和数值之间也是可以互相转换的,只是方法不同而已. 1 数值型转换为字符型 数值型数据转换为字符串用ToString()方法即可实现 int num1=1 ...
- JavaBean和json数据之间的转换(一)简单的JavaBean转换
1.为什么要使用json? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,因为其高性能.可读性强的原因,成为了现阶段web开发中前后端交互数据的主要数据 ...
- JavaBean和json数据之间的转换(二)含有date类型的JavaBean
1.前言 上次讲了简单的JavaBean和json格式之间的转换,代码很简单,但是实际过程中,往往用到的JavaBean都是比较复杂的,其他的字段还好,如果JavaBean中包含了date类型的字段, ...
- unicode下char*和CString和一些数据之间的转换
首先mfc下字符串只有两种数据:char(一个字节)和wchar_t(两个字节),很多其他数据类型如TCHAR,WCHAR等都是这个两个基本类型的宏定义,BYTE是uchar 1.对话框打印char* ...
- unicode下数据之间的转换
首先mfc下字符串只有两种数据:char(一个字节)和wchar_t(两个字节),很多其他数据类型如TCHAR,WCHAR等都是这个两个基本类型的宏定义,BYTE是uchar 1.对话框打印char* ...
- python类型之间的转换
*int(x,base=10)x字符串或数字,base进制数,默认十进制 浮点转为整数 *float 整数转换为浮点型 *complex(1,2) 转换为复数 *str(10)将对象转换为字符串 *r ...
- 基本数据类型,包装类型,String类型数据之间的转换
java中所有的类都从java.lang.Object类派生而来,在java语言中,除基本数据类型以外,基本数据类型有java类库体统了包装类:Integer类保存整形变量,Boolean类保存布尔变 ...
- python数据类型之间的转换
1,字符串转整型,前提条件是该字符串为纯数字. a = '1' a = int(a) 2,整型转字符串 a= 1 a = str(a) 3,整型转浮点型 a = 1 a = float(a) 4,浮点 ...
- 转转转--Java File和byte数据之间的转换
package cn.iworker.file; import java.io.BufferedOutputStream; import java.io.ByteArrayOutputStream; ...
随机推荐
- hdu 4821 字符串hash+map判重 String (长春市赛区I题)
http://acm.hdu.edu.cn/showproblem.php?pid=4821 昨晚卡了非常久,開始TLE,然后优化了之后,由于几个地方变量写混.一直狂WA.搞得我昨晚都失眠了,,. 这 ...
- 基于Python3 + OpenCV3.3.1的远程监控程序
基于Python3 + OpenCV3.3.1的远程监控程序 一.环境配置 OpenCV是一个基于(开源)发行的跨平台计算机视觉库,利用OpenCV能够实现视频图像的捕获. 关于python3中Ope ...
- DM36x IPNC OSD显示中文 --- 基础知识篇
为了简单起见,只显示GB2312(简体中文)字符一.GB2312汉字编码1.区位码在国标GB2312—80中规定,所有的国标汉字及符号分配在一个94行.94列的方阵中,方阵的每一行称为一个“区”,编号 ...
- Creating Dialogbased Windows Application (1) / 创建基于对话框的Windows应用程序(一)新建窗体 / VC++, Windows
创建基于对话框的Windows应用程序(一) —— 新建窗体 1.新建一个Visual C++的Empty Project. 2.在Solution Explorer中右键Add New Item, ...
- 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 ...
- 移动端数据库新王者:realm
介绍 realm是一个跨平台移动数据库引擎,支持iOS.OS X(Objective-C和Swift)以及Android. 2014年7月发布.由YCombinator孵化的创业团队历时几年打造,是第 ...
- AES中几种加密模式的区别:ECB、CBC、CFB、OFB、CTR
AES: aes是基于数据块的加密方式,也就是说,每次处理的数据时一块(16字节),当数据不是16字节的倍数时填充,这就是所谓的分组密码(区别于基于比特位的流密码),16字节是分组长度 分组加密的几种 ...
- nginx+python+fastcgi环境配置(flup版本)
昨天花了一整天的时间研究搭建了nginx+python+fastcgi环境,并测试没问题,由于是第一次,并且参考了网上很多东西,网上也有很多,但还是把自己的过程记录下. 主要感谢这位兄弟的文章给了我很 ...
- Centos 7 启动错误:XFS_WANT_CORRUPTED_GOTO 修复
参考源 如果出现以下报错 [sda] Assuming drive cache: write through Internal error xfs XFS_WANT_CORRUPTED_GOTO at ...
- shell学习五十八天----/proc文件系统
/proc文件系统 前言:linux中的/proc文件系统,由一组文件夹和文件组成,挂载(mount)与/proc文件夹下. /proc文件系统是一种虚拟文件系统,以文件系统文件夹和文件形式,提供一个 ...