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

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

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

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

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

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

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. JavaScript之RegExp对象

    ECMAScript 通过 RegExp 类型来支持正则表达式.使用下面类似 Perl 的语法,就可以创建一个正则表达式 var expression = / pattern / flags ; 其中 ...

  2. UI-7-UIScrollView

    #import "ViewController.h" @interface ViewController ()<UIScrollViewDelegate> { UIIm ...

  3. python笔记1,语法,函数,类和实例,异常

    >>> int(12.34) 12 >>> float('12.34') 12.34 >>> str(1.23) '1.23' >>& ...

  4. Android DRM

    最近在了解Android DRM相关的一些知识,下面转一个ARM大佬分享的内容: 前言 本文简略地介绍了如何在Android下实现DRM(Digital Rights Management, 数字版权 ...

  5. (转)初步认识拓展UnityEditor编辑器定制

    初步认识拓展UnityEditor编辑器定制 热度 9529 2015-9-4 18:50 |个人分类:Unity3d| 编辑器, 拓展 我相信无数初学者看别人游戏都经常看到他们的Inspector中 ...

  6. 【ask】vmware(NAT)中的linux突然无法访问互联网网址,但是直接用ip可以访问。

    前两天虚拟机里的linuxmint不知何故,突然无法访问互联网了.依稀记得是升级了win7下面的360安全卫士之后发生的事情.所以, 第1步就开始去找防火墙的各种设置,结果没有查到结果. 第2步猛然看 ...

  7. Android Studio Error -- Could not create the Java Virtual Machine

    :app:dexDebug Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurre ...

  8. Apache thrift - 使用,内部实现及构建一个可扩展的RPC框架

    本文首先介绍了什么是Apache Thrift,接着介绍了Thrift的安装部署及如何利用Thrift来实现一个简单的RPC应用,并简单的探究了一下Thrift的内部实现原理,最后给出一个基于Thri ...

  9. CentOS6.X 升级内核至 3.10

    1.1 查看当前版本 [root@localhost ~]# uname -r -.el6.x86_64 1.2 导入public key [root@localhost ~]# rpm --impo ...

  10. Android无线测试之—UiAutomator UiDevice API介绍四

    拖拽与滑动 一.概念介绍: 1)拖拽:将组建从一个坐标移动到另一个坐标 2)移动:从一二坐标点移动到另一个坐标点 3)步长:从一点滑动到另一点使用的时间 二.拖拽与滑动的相关API: 返回值 方法名 ...