Python:字符串、列表、元组、字典之间的相互转换
发布日期:2021-06-30 15:42:37
浏览次数:2
分类:技术文章
本文共 3353 字,大约阅读时间需要 11 分钟。
一、字符串(str)
字符串转换为列表
- 使用list()方法
str_1 = "1235"str_2 = 'zhangsan'str_3 = '''lisi'''tuple_1 = list(str_1)tuple_2 = list(str_2)tuple_3 = list(str_3)print(type(tuple_1))print(type(tuple_2))print(type(tuple_3))print(tuple_1)print(tuple_2)print(tuple_3)
运行结果:
- 使用Python中字符串的内置方法split()
Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
语法:str.split(str="", num=string.count(str)). ①str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 ②num – 分割次数。默认为 -1, 即分隔所有。
str_1 = "12 35 213"str_2 = 'zhang san shi a 'str_3 = 'zhang san shi a 'str_4 = '''li si wang wu'''list_1 = str_1.split(" ")list_2 = str_2.split(" ",1)list_3 = str_3.split(" ")list_4 = str_4.split(" ",2)print(type(list_1))print(type(list_2))print(type(list_3))print(type(list_4))print(list_1)print(list_2)print(list_3)print(list_4)
运行结果:
- 使用eval()函数
print(eval("[1, 2, 3, 4]"))
运行结果:
字符串 转换为 元组
- 使用tuple()方法
str_1 = "1235"str_2 = 'zhangsan'str_3 = '''lisi'''list_1 = tuple(str_1)list_2 = tuple(str_2)list_3 = tuple(str_3)print(type(list_1))print(type(list_2))print(type(list_3))print(list_1)print(list_2)print(list_3)
运行结果:
字符串 转换为 字典
- 利用eval()函数,可以将字典格式的字符串转换为字典
eval() 函数用来执行一个字符串表达式,并返回表达式的值。
语法:eval(expression[, globals[, locals]]) ①expression – 表达式。 ②globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。③locals – 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
str_1 = "{'name':'zhangsan','age':14,'gender':'girl'}"dict_1 = eval(str_1)print(type(dict_1))print(dict_1)
运行结果:
- 利用json.loads()方法,可以将字典格式的字符串转换为字典
json.loads 用于解码 JSON 数据。该函数返回 Python 字段的数据类型。
语法:json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])
import jsonstr_1 = '{"name":"xiaoming","age":18}'dict_1 = json.loads(str_1)print(type(dict_1))print(dict_1)
运行结果:
二、列表(list)
列表转字符串
- 利用‘’.join()将列表中的内容拼接程一个字符串
Python join() 方法用于将序列中的元素(必须是str) 以指定的字符(’'中指定的) 连接生成一个新的字符串。
list_1 = ['a', 'b', 'c']str_1 = ''.join(list_1)print(type(str_1))print(str_1)
运行结果:
列表转字典
- 利用for in rang将两个列表转换为字典
list_1 = ['a', 'b', 'c']list_2 = [1, 2, 3]dict_1 = { }for i in range(len(list_1)): dict_1[list_1[i]] = list_2[i]print(type(dict_1))print(dict_1)
运行结果:
- 利用python内置方法dict()和zip()将两个列表转换为字典
dict() 函数用于创建一个字典。
语法:class dict(**kwarg) class dict(mapping, **kwarg) class dict(iterable, kwarg) ①kwargs – 关键字 ②mapping – 元素的容器。 ③iterable – 可迭代对象。
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
语法:zip([iterable, …]) iterabl – 一个或多个迭代器;
list_1 = ['name', 'age']list_2 = ['zhangsan',18]dict_1 = dict(zip(list_1, list_2))print(type(dict_1))print(dict_1)
运行结果:
三、元组(tuple)
元组转换为字符串
- 使用方法__str__
- 返回一个对象的描述信息
tuple_1 = (1, 2, 3)str_1 = tuple_1.__str__()print(type(str_1))print(str_1)
运行结果:
元组转换为列表
- 使用方法list()
list() 方法用于将元组转换为列表。
语法:list( tup ) tup – 要转换为列表的元组。
tuple_1 = (1, 2, 3)list_1 = list(tuple_1)print(type(list_1))print(list_1)
运行结果:
元组不能转换为字典
四、字典(dict)
字典转换为字符串
- 使用 json.dumps()方法
json.dumps 用于将 Python 对象编码成 JSON 字符串。
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding=“utf-8”, default=None, sort_keys=False, **kw)
字典转换为元组
- 使用方法 tuple()
- 字典在转换为元组之后,只会保存关键字
dict_1 = { "name":"zhangsan", "age":18}tuple_1 = tuple(dict_1)print(type(tuple_1))print(tuple_1)
运行结果:
字典转换为列表
- 使用方法 list()
- 字典在转换为列表之后,只会保存关键字
dict_1 = { "name":"zhangsan", "age":18}list_1 = list(dict_1)print(type(list_1))print(list_1)
运行结果:
转载地址:https://kaisarh.blog.csdn.net/article/details/103041253 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年05月02日 17时22分10秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
彻底卸载MySQL
2019-05-01
Oracle创建表,修改表(添加列、修改列、删除列、修改表的名称以及修改列名)
2019-05-01
SQL命令分类(DDL、DML、DCL、TCL以及事务)
2019-05-01
nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate 报错
2019-05-01
kafka集群搭建
2019-05-01
Python正则表达式,从入门到实战,精华都在这里!
2019-05-01
喜欢玩王者荣耀的有福了,用 Python 获取英雄皮肤壁纸
2019-05-01
一名数据分析师的SQL学习历程
2019-05-01
图解《金字塔原理》,7步掌握其精华!
2019-05-01
数据分析入门选择Python还是SQL?七个常用操作对比!
2019-05-01
最后一台,i7+6核电脑
2019-05-01
redis五种基本数据类型
2019-05-01
springboot整合redis框架
2019-05-01
以不同业务,redis分库概念
2019-05-01
使用redis实现订阅功能
2019-05-01
Redis主从配置
2019-05-01
Redis哨兵机制
2019-05-01
RedisRDB持久化机制
2019-05-01
哨兵机制服务器环境准备
2019-05-01
携程Apollo动态配置日志级别
2019-05-01