在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使用MYSQLDB实现从数据库中导出XML文件的方法
May 11 Python
python模拟Django框架实例
May 17 Python
python批量添加zabbix Screens的两个脚本分享
Jan 16 Python
windows系统下Python环境的搭建(Aptana Studio)
Mar 06 Python
python数据分析数据标准化及离散化详解
Feb 26 Python
python 平衡二叉树实现代码示例
Jul 07 Python
浅谈python之高阶函数和匿名函数
Mar 21 Python
基于Numpy.convolve使用Python实现滑动平均滤波的思路详解
May 16 Python
Python实现使用request模块下载图片demo示例
May 24 Python
在python里面运用多继承方法详解
Jul 01 Python
Django的models中on_delete参数详解
Jul 16 Python
Python *args和**kwargs用法实例解析
Mar 02 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
删除无限级目录与文件代码共享
2006/07/12 PHP
PHP 5.3.0 安装分析心得
2009/08/07 PHP
PHP工厂模式、单例模式与注册树模式实例详解
2019/06/03 PHP
PHP Swoole异步读取、写入文件操作示例
2019/10/24 PHP
键盘控制事件应用教程大全
2006/11/24 Javascript
QQ邮箱的一个文本编辑器代码
2007/03/14 Javascript
javascript的onchange事件与jQuery的change()方法比较
2009/09/28 Javascript
基于jQuery的固定表格头部的代码(IE6,7,8测试通过)
2010/05/18 Javascript
document.createElement()用法及注意事项(ff下不兼容)
2013/03/13 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
2013/08/01 Javascript
js函数名与form表单元素同名冲突的问题
2014/03/07 Javascript
单击某一段文字改写文本颜色
2014/06/06 Javascript
关于JavaScript命名空间的一些心得
2014/06/07 Javascript
深入理解javascript作用域和闭包
2014/09/23 Javascript
JS实现动态移动层及拖动浮层关闭的方法
2015/04/30 Javascript
JavaScript中的对象和原型(一)
2016/08/12 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
2016/12/20 Javascript
js实现开启密码大写提示
2016/12/21 Javascript
原生JavaScript实现的简单省市县三级联动功能示例
2017/05/27 Javascript
解决Extjs下拉框不显示的问题
2017/06/21 Javascript
使用Nginx+uWsgi实现Python的Django框架站点动静分离
2016/03/21 Python
python 实现删除文件或文件夹实例详解
2016/12/04 Python
python生成不重复随机数和对list乱序的解决方法
2018/04/09 Python
我们为什么要减少Python中循环的使用
2019/07/10 Python
python计算n的阶乘的方法代码
2019/10/25 Python
Python Django中的STATIC_URL 设置和使用方式
2020/03/27 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
2020/12/23 Python
CSS实现进度条和订单进度条的示例
2020/11/05 HTML / CSS
Yahoo-PHP面试题4
2012/05/05 面试题
金融行业务员的自我评价
2013/12/13 职场文书
财务担保书范文
2014/04/02 职场文书
空乘英文求职信
2014/04/13 职场文书
2014年环境卫生工作总结
2014/11/24 职场文书
人事任命通知书
2015/04/21 职场文书
七年级作文之英语老师
2019/10/28 职场文书
vue 自定义组件添加原生事件
2022/04/21 Vue.js