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

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

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

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

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

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

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. Linux操作系统下/etc/hosts文件配置方法

    1.关于/etc/host,主机名和IP配置文件 Hosts - The static table lookup for host name(主机名查询静态表) hosts文件是Linux系统中一个负 ...

  2. linux设备树语法

    设备树语法及绑定 概述 Device Tree是一种用来描述硬件的数据结构,类似板级描述语言,起源于OpenFirmware(OF). 就ARM平台来说,设备树文件存放在arch/arm/boot/d ...

  3. Swift 开源 Linux Ubuntu Install

    Swift 开源了,它现在变成跨平台的了,开源后的 Swift 不止能运行在 MAC 和 iOS 平台,现在也可以运行在 Linux 平台了.swift.org 网站上面提供了在 Linux 上面安装 ...

  4. load data导入数据之csv的用法

    今天总结一下:csv格式文件导入的方法. 1.准备数据表:CSV

  5. 最新win7系统安全稳定版

    最新win7系统32位安全稳定版 V2016年2月,具有更安全.更稳定.更人性化等特点.集成最常用的装机软件,集成最全面的硬件驱动,精心挑选的系统维护工具,加上萝卜独有人性化的设计.是电脑城.个人.公 ...

  6. linux 分卷压缩命令

    linux 分卷压缩命令 1.使用tar分卷压缩 格式 tar cvzf - filedir | split -d -b 50m - filename 样例: tar cvzf - ./picture ...

  7. Shader 优化笔记

    如果shader中采了深度图,但是实际上相机没开深度图的话,会严重降帧. 做uv动画时应该 o.uv1.xy = v.uv * _Layer1_ST.xy + frac(_Layer1_ST.zw * ...

  8. 在MathType中输入罗马数字的方法

    MathType作为数学公式编辑器的编辑功能非常的强大,其中包含了许许多多各种各样的数学符号,甚至标记符号也很全面.编辑公式时有时为了让公式看起来会更有条理,会进行一定的序号设置,当然也可以对公式进行 ...

  9. 【转】ATL提供的所有转换宏

    在头文件<atlconv.h>中定义了ATL提供的所有转换宏,如: A2CW (LPCSTR) -> (LPCWSTR) A2W     (LPCSTR) -> (LPWSTR ...

  10. Android开发:《Gradle Recipes for Android》阅读笔记(翻译)3.2——设置Flavors和Variants

    问题: 需要构建大体上一样,但是使用不同资源或者类的应用. 解决方案: 产品的flavors可以帮助你对同一个app创建不同的版本. 讨论: build types是开发过程的一部分,一般用来将app ...