在Python中字符串、列表、元组、字典之间的相互转换


Posted in Python onNovember 15, 2019

一、字符串(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中字符串、列表、元组、字典之间的相互转换

使用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)

运行结果:

在Python中字符串、列表、元组、字典之间的相互转换

字符串 转换为 元组

使用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)

运行结果:

在Python中字符串、列表、元组、字典之间的相互转换

字符串 转换为 字典

利用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)

运行结果:

在Python中字符串、列表、元组、字典之间的相互转换

利用json.loads()方法,可以将字典格式的字符串转换为字典

json.loads 用于解码 JSON 数据。该函数返回 Python 字段的数据类型。
语法:json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])

import json

str_1 = '{"name":"xiaoming","age":18}'
dict_1 = json.loads(str_1)
print(type(dict_1))
print(dict_1)

运行结果:

在Python中字符串、列表、元组、字典之间的相互转换

二、列表(list)

列表转字符串

利用‘'.join()将列表中的内容拼接程一个字符串

Python join() 方法用于将序列中的元素(必须是str) 以指定的字符(''中指定的) 连接生成一个新的字符串。

list_1 = ['a', 'b', 'c']
str_1 = ''.join(list_1)
print(type(str_1))
print(str_1)

运行结果:

在Python中字符串、列表、元组、字典之间的相互转换

列表转字典

利用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中字符串、列表、元组、字典之间的相互转换

利用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)

运行结果:

在Python中字符串、列表、元组、字典之间的相互转换

三、元组(tuple)

元组转换为字符串

  • 使用方法__str__
  • 返回一个对象的描述信息
tuple_1 = (1, 2, 3)
str_1 = tuple_1.__str__()
print(type(str_1))
print(str_1)

运行结果:

在Python中字符串、列表、元组、字典之间的相互转换

元组转换为列表使用方法list()

list() 方法用于将元组转换为列表。
语法:list( tup )
tup ? 要转换为列表的元组。

tuple_1 = (1, 2, 3)
list_1 = list(tuple_1)
print(type(list_1))
print(list_1)

运行结果:

在Python中字符串、列表、元组、字典之间的相互转换

元组不能转换为字典

四、字典(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)

运行结果:

在Python中字符串、列表、元组、字典之间的相互转换

字典转换为列表

  • 使用方法 list()
  • 字典在转换为列表之后,只会保存关键字
dict_1 = {"name":"zhangsan",
   "age":18}
list_1 = list(dict_1)
print(type(list_1))
print(list_1)

运行结果:

在Python中字符串、列表、元组、字典之间的相互转换

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用python获取CPU和内存信息的思路与实现(linux系统)
Jan 03 Python
python删除服务器文件代码示例
Feb 09 Python
对Python2与Python3中__bool__方法的差异详解
Nov 01 Python
Python OS模块实例详解
Apr 15 Python
python中的decimal类型转换实例详解
Jun 26 Python
python脚本当作Linux中的服务启动实现方法
Jun 28 Python
python  文件的基本操作 菜中菜功能的实例代码
Jul 17 Python
Python networkx包的实现
Feb 14 Python
基于pytorch padding=SAME的解决方式
Feb 18 Python
Python 读取WAV音频文件 画频谱的实例
Mar 14 Python
基于Python爬取fofa网页端数据过程解析
Jul 13 Python
Django restful framework生成API文档过程详解
Nov 12 Python
Django xadmin开启搜索功能的实现
Nov 15 #Python
Django 实现外键去除自动添加的后缀‘_id’
Nov 15 #Python
django中media媒体路径设置的步骤
Nov 15 #Python
Python中BeautifuSoup库的用法使用详解
Nov 15 #Python
python 实现多线程下载视频的代码
Nov 15 #Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
Nov 15 #Python
浅析python内置模块collections
Nov 15 #Python
You might like
玛琪朵 Macchiato
2021/03/03 咖啡文化
php处理斐波那契数列非递归方法
2012/02/04 PHP
php实现的RSS生成类实例
2015/04/23 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
PHP实现函数内修改外部变量值的方法示例
2018/12/28 PHP
javascript 数组排序函数
2009/08/20 Javascript
jQuery 学习6 操纵元素显示效果的函数
2010/02/07 Javascript
关于JS字符串函数String.replace()
2013/04/07 Javascript
JQuery写动态树示例代码
2013/07/31 Javascript
Javascript之this关键字深入解析
2013/11/12 Javascript
window.print打印指定div实例代码
2013/12/13 Javascript
Jquery 1.9.1源码分析系列(十二)之筛选操作
2015/12/02 Javascript
js+canvas绘制矩形的方法
2016/01/28 Javascript
理解javascript中Map代替循环
2016/02/26 Javascript
Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值
2016/03/23 Javascript
微信小程序自定义多选事件的实现代码
2018/05/17 Javascript
javascript单张多张图无缝滚动实例代码
2020/05/10 Javascript
js实现电灯开关效果
2021/01/19 Javascript
Python多线程编程简单介绍
2015/04/13 Python
python下MySQLdb用法实例分析
2015/06/08 Python
详解利用OpenCV提取图像中的矩形区域(PPT屏幕等)
2019/07/01 Python
python中多个装饰器的调用顺序详解
2019/07/16 Python
Python urllib2运行过程原理解析
2020/06/04 Python
Python Switch Case三种实现方法代码实例
2020/06/18 Python
Kmeans均值聚类算法原理以及Python如何实现
2020/09/26 Python
美国经典刺绣和字母儿童服装特卖:Smocked Auctions
2018/07/16 全球购物
美国葡萄酒网上商店:Martha Stewart Wine Co.
2019/03/17 全球购物
一套C#面试题
2013/10/09 面试题
岗位竞聘演讲稿
2014/01/10 职场文书
学校督导评估方案
2014/06/10 职场文书
学习实践科学发展观心得体会
2014/09/10 职场文书
党员自我剖析材料范文
2014/10/06 职场文书
大学同学聚会感言
2015/07/30 职场文书
2015年店长个人工作总结
2015/10/23 职场文书
学习习近平主席讲话心得体会
2016/01/20 职场文书
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/04/22 无线电