首页 / PYTHON / Python容器类型数据的转换
Python容器类型数据的转换
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python容器类型数据的转换,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3797字,纯文字阅读大概需要6分钟。
内容图文
![Python容器类型数据的转换](/upload/InfoBanner/zyjiaocheng/624/3df5f28349bf4baabf176aa34dcb1086.jpg)
容器类型的强制转换
str强制将数据转换成字符串
str可以转换所有的数据类型, 在当前的数据类型两边套上引号
var = [1, 2, 3]
res = str(var)
# 结果:'[1, 2, 3]' <class 'str'>
print(repr(res), type(res))
repr():原型化输出字符串
list强制将数据转换成列表
- 如果原数据类型是字符串:把字符串中的每个元素单独拿出来,作为列表中的新元素使用
- 如果原数据类型是字典:只保留字典中的键,忽略字典的值
- 如果原数据类型是其他容器数据:直接在原数据类型两边换上[]
var = "abc123"
res = list(var)
# 结果:['a', 'b', 'c', '1', '2', '3'] <class 'list'>
print(res, type(res))
var = {"a": 1, "b": 2, "c": 3}
res = list(var)
# 结果:['a', 'b', 'c'] <class 'list'>
print(res, type(res))
var = (123,456,"abc")
res = list(var)
# 结果:[123, 456, 'abc'] <class 'list'>
print(res, type(res))
tuple强制将数据转换成元组
- 如果原数据类型是字符串:把字符串中的每个元素单独拿出来,作为元组中的新元素使用
- 如果原数据类型是字典:只保留字典中的键,忽略字典的值
- 如果原数据类型是其他容器数据:直接在原数据类型两边换上()
var = "abc123"
res = tuple(var)
# 结果:('a', 'b', 'c', '1', '2', '3') <class 'tuple'>
print(res, type(res))
var = {"a": 1, "b": 2, "c": 3}
res = tuple(var)
# 结果:('a', 'b', 'c') <class 'tuple'>
print(res, type(res))
var = {123,456,"abc"}
res = tuple(var)
# 结果:(456, 123, 'abc') <class 'tuple'>
print(res, type(res))
set强制将数据转换成集合
- 如果原数据类型是字符串:把字符串中的每个元素单独拿出来,作为集合中的新元素使用
- 如果原数据类型是字典:只保留字典中的键,忽略字典的值
- 如果原数据类型是其他容器数据:直接在原数据类型两边换上{}
var = "abc123"
res = set(var)
# 结果:{'3', '2', 'c', 'a', '1', 'b'} <class 'set'>
print(res, type(res))
var = {"a": 1, "b": 2, "c": 3}
res = set(var)
# 结果:{'c', 'a', 'b'} <class 'set'>
print(res, type(res))
var = [123,456,"abc"]
res = set(var)
# 结果:{456, 123, 'abc'} <class 'set'>
print(res, type(res))
扩展
强转空数据时,默认转换成当前数据类型的一个值
res = ()
# 结果:() <class 'tuple'>
print(res, type(res))
dict强制将数据转换成字典
- 要求: 必须是等长的二级容器,并且里面的元素个数只能是2个
- 外层可以是列表,元组或集合,里层是列表或者元组的等长二级容器
外层是列表
# 外层是列表,里层是列表或者元组
lst = [["a", 1], ("b", 2)]
dic = dict(lst)
# 结果:{'a': 1, 'b': 2} <class 'dict'>
print(dic, type(dic))
外层是元组
# 外层是元组,里层是列表或者元组
tup = (["a", 1], ("b", 2))
dic = dict(tup)
# 结果:{'a': 1, 'b': 2} <class 'dict'>
print(dic, type(dic))
外层是集合
# 外层是集合,里层是元组
setvar = {("a", 1), ("b", 2)}
dic = dict(setvar)
print(dic, type(dic))
# 结果1:{'a': 1, 'b': 2} <class 'dict'>
# 结果2:{'b': 2, 'a': 1} <class 'dict'>
集合的特征:无序,自动去重
字典的键和集合的值有数据类型上的要求:
不可变的类型(允许的类型范围):Number(int、float、complex、bool)、str、tuple
可变的类型(不允许的类型):list、set、dict
例外1
"""
外层是列表或元组,里层放集合
可以实现,但不推荐使用,
因为集合无序,达不到想要的目的
"""
lst = [["a", 100], {"b", "250"}]
dic = dict(lst)
print(dic)
# 结果1:{'a': 1, 'b': '250'}
# 结果2:{'a': 1, '250': 'b'}
例外2
"""
外层是列表,元组或集合,里层放字符串
字符串长度只能是2位,有极大的局限性,不推荐使用
"""
lst = ["a1","b2"]
# lst = ["a11","b22"] #Error
dic = dict(lst)
# 结果:{'a': '1', 'b': '2'}
print(dic)
扩展:等长二级容器
外面是容器,里面的元素也是容器,且元素个数相同
lst = [(1, 2, 3), [4, 5, 6], {7, 8, 9}]
类型判断
使用方法一
isinstance(数据,类型)
- 如果该数据是这个类型,返回True
- 反之,返回False
- 类型: int、float、complex、bool、str、list、tuple、set、dict
n = 123
res = isinstance(n, int)
print(res) # True
n = "123"
res = isinstance(n, int)
print(res) # False
使用方法二
isinstance( 数据, (类型1,类型2,类型3...) )
- 如果该数据在所对应的类型元组当中,返回True
- 反之,返回False
- 类型: int、float、complex、bool、str、list、tuple、set、dict
n = 123
res = isinstance(n, (float, complex, int))
print(res) # True
n = "123"
res = isinstance(n, (float, complex, int))
print(res) # False
数据类型判断:一真则真,全假则假
内容总结
以上是互联网集市为您收集整理的Python容器类型数据的转换全部内容,希望文章能够帮你解决Python容器类型数据的转换所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。