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

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

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

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

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

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

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. 解决Eclipse的dropins中svn插件不能加载的问题

    在eclipse的dropins中我们将svn的插件放到里边重启我们的ecplise就能正常加载svn插件了,如下图 但是有时候我们删除了svn的项目之后有可能我们的eclipse就不能正常加载svn ...

  2. LeetCode560. Subarray Sum Equals K

    Description Given an array of integers and an integer k, you need to find the total number of contin ...

  3. 访问JavaBean

    <jsp:useBean> 标签可以在JSP中声明一个JavaBean,然后使用.声明后,JavaBean对象就成了脚本变量,可以通过脚本元素或其他自定义标签来访问.<jsp:use ...

  4. Spring入门第一例

    通过多天对基础语法的学习,早就向往一睹SPRING的芳容.今天按照ITEYE 唐的 教程,第一次运行Spring成功,步骤及注意事项如下: 一.基础环境 Jdk1.8, Eclipse4.71 .Sp ...

  5. 通信协议之广播---recvfrom 放回客户端的ip地址第一次全为0.0.0.0

    遇到一个很恶心的问题. while(1) { recvfrom(sockfd, readbuff, UDP_CMD_BUFF_LENGTH - 1, 0, (struct sockaddr *)&am ...

  6. apache2+svn Cannot load modules/mod_dav_svn.so into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3

    按照svn里的readme文件安装配置apache2与svn后, 启动apache2服务的时候 出现下面的问题 Cannot load C:/Program Files/Apache Software ...

  7. libsvm以概率输出单个test样例的判别结果

    在函数svmtrain和svmpredict的输入参数部分加入'-b 1'比如原先是 svmtrain -c 8.0 -g 0.0078125 a1a.scale 修改过后就是 svmtrain -b ...

  8. openCV中 libopencv-nonfree-dev的安装: undefined reference to `cv::initModule_nonfree()&#39;

    今天照着一起做RGB-D SLAM (3)    , 程序会出现以下的错误: cv::initModule_nonfree(); /home/yhzhao/slam/src/detectFeature ...

  9. Linux下汇编语言------计算n的阶乘

    用高级语言比方C语言写个阶乘非常easy,那如今就来熟悉下Linux使用AT&T汇编格式写一个程序来计算阶乘吧 写法一是 使用跳转指令实现.写法二是使用函数来实现 约定:本程序没有将结果打印在 ...

  10. C#实现按键精灵的'找图' '找色' '找字'的功能

    http://www.cnblogs.com/JimmyBright/p/4355862.html 背景:游戏辅助功能通常使用按键精灵编写脚本,按键精灵的最大卖点就是能够找到画面中字,图,色,这对于模 ...