python 数据类型之间的转换

Number数据类型转换

# ###强制类型换 Number (int float bool complex)
var1 = 68
var2 = 6.89
var3 = False
var4 = 3-4j
var5 = "12345678"
var6 = "qwe123"#(1) int 强制转换成整型
res = int(var2)
res = int(var3)
#res = int(var4) #TypeError: can't convert complex to int
res = int(var5)
#res = int(var6) #ValueError: invalid literal for int() with base 10: 'qwe123' int只能对纯数字进行转换
print(res)#(2) float强制转换成浮点型
res = float(var1)
res = float(var3)
#res = float(var4)  complex复数不能转化成浮点型
res = float(var5)
#res = float(var6)   不是纯数字的字符串是不能转换成浮点型 
print(res)#(3) complex 强制转化成复数
res = complex(var1)
res = complex(var2)
res = complex(var3)
res = complex(var5)
#res = complex(var6) 报错:arg is a malformed string
print(res)#(4)bool强制转化成布尔
res = bool(var1)
res = bool(var2)
res = bool(var4)
res = bool(var5)
res = bool(var6)
print(res)#布尔类型为假的十种情况
# None是python的关键字 代表空什么没有 一般是作为初始化操作的;
"""
int类型:       0
float类型:      0.0
complex类型:     0j
bool类型:          False
str字符串类型:  ""
tuple类型:         ()
set类型:       set()
list类型:             []
dict类型:          {}
关键字:         None
"""
res = bool(None)
print(res)"""
int() float() bool complex() 默认创建一个该数据类型的值
res = int()
res = float()
res = bool()
res = complex()
print(res)
"""    

容器类数据转换

#  ###强制类型转化 容器类型数据(str list tuple dict set)
listvar = ['taibai','wusir','Alex','wuchao','duidui']
tuplevar = ('taibai','wusir','Alex','wuchao','duidui')
setvar = {'taibai','wusir','Alex','wuchao','duidui'}
dictvar = {'tb':'taibai','lj':'Alex','wpq':'wusir','wc':'wuchao'}
strvar = "taibai老司机开车"
intvar = 8848#(1) str(容器类型数据 / Number类型数据 都可以)
"""如果是字符串进行强制转化,仅仅就是在原数据类型的两边套上引号"""#repr 可以原型化输出字符串,不转义字符,可以显示引号
res = str(listvar)
print(res,type(res))
print(repr(res),type(repr(res))) #显示引号res = str(tuplevar)
print(res,type(res))
print(repr(res),type(repr(res)))res = str(setvar)
print(res,type(res))
print(repr(res),type(repr(res)))res = str(dictvar)
print(res,type(res))
print(repr(res),type(repr(res)))res = str(dictvar)
print(res,type(res))
print(repr(res),type(repr(res)))res  = str(intvar)
print(res,type(res))
print(repr(res),type(repr(res)))#(2)list:强制转化成列表
"""
如果是字符串,会把每一个字符都单独作为一个元素的放到新的列表中。
如果是字典,只保留键,形成一套新的列表
如果是其它容器,只是单纯的在原数据的两边套上[]
"""
res = list(tuplevar)
print(res,type(res))res = list(setvar)
print(res,type(res))res = list(dictvar)
print(res,type(res))res = list(strvar)
print(res,type(res))#(3) tuple:强制转化成元组
"""
如果是字符串,会把没个字符都单独作为一个元素放到新的元组中
如果字典,只保留键,形成一套新的元组
如果是其它容器,只是单纯在原数据的两边加上()
"""res = tuple(listvar)
print(res,type(res))res = tuple(dictvar)
print(res,type(res))res = tuple(setvar)
print(res,type(res))res = tuple(strvar)
print(res,type(res))#(4)set:强制转化成集合 无序 去重
"""
如果是字符串,会把每一个字符单独作为一个元素放到新的集合中[存在无序,去重的特征]
如果是字典,只保留键,形成一套新的集合。[存在无序,去重的特征]
如果是其它容器,只是单纯的在原数据的两边套上{}[存在无序,去重的特征]
"""
res = set(strvar)
print(res,type(res))res = set(listvar)
print(res,type(res))res = set(dictvar)
print(res,type(res))res = set(setvar)
print(res,type(res))#(5)给列表如何去重
lst = [22,33,44,55,66,66,55,77,88]
setvar =set(lst)
lst = list(setvar)
print(lst)setvar = {11,22,33}
print(setvar)#如果想要去在去重的同时,保持顺序不乱,要依靠循环。
lst = ['aa','bb','cc','dd']
res = list(set(lst))
print(res)#终结:
#str() list() set() dict() tuple() 默认都会转化成当前数据类型;
"""
res = str()
print(res)res  = list()
print(res)res  = set()
print(res)res = dict()
print(res)res = tuple()
print(res)"""

多级容器和dict字典的转换

#二级容器: 外层是一个容器类型数据,里面的元素还是一个容器类型数据(list tuple set dict)#二级列表
listvar = [1,2,3,4[5,6,7]]#二级元组
tuplevar = (8,9,10,(11,12,13))#二级集合 必须存放可哈希数据(int float bool complex tuple str)
setvar = {'aa','bb','cc',(1,2,3)}#二级字典
dictvar = {'aa','bb','cc',(1,2,3)}#多级容器 获取91 一级一级寻找
container = [1,3,5,(6,7,8,[9,10,11,{"a":1,"b":[90,91,92]}])]# (6,7,8,[9,10,11,{"a":1,"b":[90,91,92]} ])
res1 = container[-1]
print(res1)
# [9, 10, 11, {'a': 1, 'b': [90, 91, 92]}]
res2 = res1[-1]
print(res2)
# {'a': 1, 'b': [90, 91, 92]}
res3 = res2[-1]
print(res3)
# [90, 91, 92]
res4 = res3['b']
print(res4)
# 91
res5 = res4[1]
print(res5)# 简写一行
res = container[-1][-1][-1]['b'][1]
print(res)#元组中的列表值可以修改
tuplevar = (1,2,3,4,5,[7,8,9])
print(tuplevar[-1])
tuplevar[-1][-1] = 10
print(tuplevar)#等长的二级容器,每一个容器里面的元素个数都是相同的叫做等长
# 等长的二级容器 每一个容器里面的元素个数都是相同的叫做等长
lst = [(1,2,3),[5,6,7]]
lst = [{"a",1},("b",2)]
# ### dict 强制转换成字典
"""强制转换成字典时,必须是等长的二级容器,并且元素个数为2个"""# (1) 外层是列表,里面的容器可以是列表或者元组(推荐)
lst = [["a",1],("b",2)]
res = dict(lst)
print(res)# 如果用字符串变成字典,有一定的局限性 c3456 (不推荐使用)
lst = [["a",1],("c34",56),"c3"]
res = dict(lst)
print(res)# 如果里面是集合,语法上是允许的,但是也有局限性 (不推荐使用)
lst = [{"a",1},{"b",2}]
res = dict(lst)
print(res)# (2) 外层是元组,里面的容器可以是列表或者元组 (推荐)
tup = (["c",3],("d",4))
res = dict(tup)
print(res)# (3) 外层是集合,里面的容器只能是元组
setvar = { ("e",5),("f",6)}
res = dict(setvar)
print(res)

转载于:https://www.cnblogs.com/CrownYP/p/11316039.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/363231.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php构造数组,并把多数组插入php文件

晚上做的一点东西&#xff0c;发出来大家共享下&#xff01; Code<?php //php 链接数据库mysql_connect("localhost", "root", "hicc") or die("Could not connect: " . mysql_error());mysql_select_db("babyker");$re…

针对新手的Java EE7和Maven项目–第6部分

从前面的部分恢复 第1 部分 &#xff0c; 第2 部分 &#xff0c; 第3 部分 &#xff0c; 第4 部分 &#xff0c; 第5部分 在上一篇文章&#xff08;第5部分&#xff09;中&#xff0c;我们发现了如何使用Arquillian&#xff08;我们的EJB服务&#xff09;进行单元测试&#xf…

1. 整除及其性质

整除的定义&#xff1a; 若整数 a 除以非零整数 b &#xff0c;商为整数且余数为零&#xff0c;即 a 能被 b 整除&#xff0c;记做 b | a&#xff0c;读作&#xff1a;b 整除 a 或 a 能被 b 整除。a 叫做 b 的倍数&#xff0c; b 叫做 a 的因数。 整除基本性质&#xff1a; 1. …

echarts 地图 免费离线js,json包分享

最近&#xff0c;项目中需要用到地图&#xff0c;由于项目的特殊性&#xff0c;只能使用内网获取数据。 然而&#xff0c;echarts官网上的离线地图包&#xff08;http://echarts.baidu.com/download-map.html&#xff09;早在一年前就不支持下载了&#xff0c;推荐使用地图API…

WPF 中的设备无关单位

WPF窗体以及内部的所有元素都是采用设备无关的单位来衡量的。一个设备无关单位定义为1英寸的96分之一&#xff0c;即1/96 inch。 假定我们创建了一个WPF按钮&#xff0c;其大小为96x96个单位&#xff0c;如果使用标准Windows的DPI设置&#xff08;96dpi&#xff09;&#xff0…

收藏网站制作常用经典css.div.布局.设计实例打包下载(下方有其他链接)

http://www.aa25.cn/234.shtml 转载于:https://www.cnblogs.com/asia/archive/2009/05/20/1467772.html

Java 8 Friday:大多数内部DSL已过时

在Data Geekery &#xff0c;我们喜欢Java。 而且&#xff0c;由于我们真的很喜欢jOOQ的流畅的API和查询DSL &#xff0c;我们对Java 8将为我们的生态系统带来什么感到非常兴奋。 Java 8星期五 每个星期五&#xff0c;我们都会向您展示一些不错的教程风格的Java 8新功能&#…

Starter pom

以下图片是引用书籍内容&#xff1a; 比如你在用boot写一个web项目&#xff0c;在maven中你会导入&#xff1a; <!-- 导入spring boot的web支持 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-we…

上传图片截图预览控件不显示cropper.js 跨域问题

上传图片到图片服务器&#xff0c;因为域名不同&#xff0c;多以会有跨域问题。 No Access-Control-Allow-Origin header is present on the requested resource. Origin http://img.xxx.com is therefore not allowed access. 照看代码发现&#xff0c;cropper.js里面对图片的…

在Spring JDBC中添加C3PO连接池

连接池是一种操作&#xff0c;其中系统会预先初始化将来要使用的连接。 这样做是因为在使用时创建连接是一项昂贵的操作。 在本文中&#xff0c;我们将学习如何在Spring JDBC中创建C3P0连接池&#xff08;某人未使用休眠&#xff09;。 Pom.xml <dependency><groupI…

在 CentOS/Fedora 下安装 JAVA 环境

介绍 本文介绍如何在 CentOS 7&#xff08;6/6.5&#xff09;、 Fedora、RHEL 上安装 Java。Java是一个流行的软件平台&#xff0c;允许您运行Java应用程序。 本文涵盖了以下Java版本的安装&#xff1a; OpenJDK 8Oracle Java 8先决条件 在开始之前&#xff0c;您应该有一个能够…

小程序: 在同一个文件夹中配置多个页面

1. 可以在同一个文件夹中配置多个页面&#xff08;即相关的放在一个文件夹中&#xff09; 如&#xff1a; 创建一个首页&#xff1a; 在 app.json中配置 -- pages/index/index创建一个首页中的相关页面&#xff1a; 在 app.json中配置 -- pages/index/detail/detail 博客地址…

[欧拉函数] Bzoj P2186 沙拉公主的困惑

Description 大富翁国因为通货膨胀&#xff0c;以及假钞泛滥&#xff0c;政府决定推出一项新的政策&#xff1a;现有钞票编号范围为1到N的阶乘&#xff0c;但是&#xff0c;政府只发行编号与M!互质的钞票。房地产第一大户沙拉公主决定预测一下大富翁国现在所有真钞票的数量。现…

象素图和向量图

象素图和向量图主要的区别是动态和静态的区别 象素图是固定的图&#xff0c;它在图形生成时就已经是由固定的象素点组成了&#xff0c;不可以再变化&#xff0c;所以大小不一样&#xff0c;清晰度不一样&#xff0c; 向量图是动态的图&#xff0c;每次显示都会根据大小绘制本身…

ActiveMQ –经纪人网络解释–第5部分

在前面的第4部分中&#xff0c;我们已经看到了如何使用网络连接器在队列中平衡远程使用者的负载。 在第5部分中&#xff0c;我们将看到如果在某个主题上有并发远程持久订阅者&#xff0c;则相同的配置将如何工作。 考虑以下配置…。 图1&#xff1a;经纪人网络–主题上的负载…

Unity项目导入的error

5.6.3error 如下&#xff1a;An assembly with the same name UnityEngine.UI has already been imported. Consider removing one of the references or sign the assemblyanswer:I deleted all the c# project files at the root of the folder structure and reloaded the p…

小程序: 域名配置

1. 问题 在小程序中&#xff0c;如果我们没有在微信公众平台: 配置 https开头的、备案过的域名话&#xff0c;调用该域名下的接口&#xff0c;就会报错 当然&#xff1a; 如果只是简单的学习下小程序使用的话&#xff0c;可以不校验域名 — 微信开发者工具中&#xff1a; 详情 …

描述符

描述符描述符也是面向进阶的一种&#xff0c;由于它的涉及比较广&#xff0c;所以单独讲。 一、描述符 描述符本质就是一个新式类,在这个新式类中,至少实现了__get__(),__set__(),__delete__()中的一个,这也被称为描述符协议。 描述符的作用是用来代理另外一个类的属性&#xf…

C++迭代器简介

迭代器是一种检查容器内元素并遍历元素的数据类型。 标准库为每一种标准容器&#xff08;包括 vector&#xff09;定义了一种迭代器类型。迭代器类型提供了比下标操作更通用化的方法&#xff1a;所有的标准库容器都定义了相应的迭代器类型&#xff0c;而只有少数的容器支持下标…

编写干净的测试-被认为有害的新内容

很难为干净的代码找到一个好的定义&#xff0c;因为我们每个人都有自己的单词clean的定义。 但是&#xff0c;有一个似乎是通用的定义&#xff1a; 干净的代码易于阅读。 这可能会让您感到有些惊讶&#xff0c;但是我认为该定义也适用于测试代码。 使测试尽可能具有可读性是我…