在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中使用copy模块实现列表(list)拷贝
Apr 14 Python
浅析Python中的for 循环
Jun 09 Python
python调用OpenCV实现人脸识别功能
May 25 Python
python之django母板页面的使用
Jul 03 Python
pygame游戏之旅 python和pygame安装教程
Nov 20 Python
解决使用PyCharm时无法启动控制台的问题
Jan 19 Python
python三引号输出方法
Feb 27 Python
python正则过滤字母、中文、数字及特殊字符方法详解
Feb 11 Python
python实现跨excel sheet复制代码实例
Mar 03 Python
python集合的新增元素方法整理
Dec 07 Python
python切片作为占位符使用实例讲解
Feb 17 Python
Python OpenCV实现图形检测示例详解
Apr 08 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
Memcache 在PHP中的使用技巧
2010/02/08 PHP
服务器变量 $_SERVER 的深入解析
2013/07/02 PHP
smarty表格换行实例
2014/12/15 PHP
document.forms[].submit()使用介绍
2014/02/19 Javascript
javascript数组详解
2014/10/22 Javascript
node.js中的fs.lstat方法使用说明
2014/12/16 Javascript
移动端JQ插件hammer使用详解
2015/07/03 Javascript
jQuery实现两款有动画功能的导航菜单代码
2015/09/16 Javascript
Javascript函数式编程语言
2015/10/11 Javascript
浅谈js中StringBuffer类的实现方法及使用
2016/09/02 Javascript
利用jQuery实现打字机字幕效果实例代码
2016/09/02 Javascript
JavaScript无操作后屏保功能的实现方法
2017/07/04 Javascript
基于jQuery实现的设置文本区域的光标位置
2018/06/15 jQuery
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
2019/11/26 Javascript
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
2020/05/19 jQuery
OpenLayers3实现鼠标移动显示坐标
2020/09/25 Javascript
vue 验证两次输入的密码是否一致的方法示例
2020/09/29 Javascript
详尽讲述用Python的Django框架测试驱动开发的教程
2015/04/22 Python
Python编程实现微信企业号文本消息推送功能示例
2017/08/21 Python
Python3实现获取图片文字里中文的方法分析
2018/12/13 Python
python抓取搜狗微信公众号文章
2019/04/01 Python
python实现键盘输入的实操方法
2019/07/16 Python
python读取word 中指定位置的表格及表格数据
2019/10/23 Python
Flask模板引擎Jinja2使用实例
2020/04/23 Python
详解python的变量缓存机制
2021/01/24 Python
CSS3 Calc实现滚动条出现页面不跳动问题
2017/09/14 HTML / CSS
简单叙述一下MYSQL的优化
2016/05/09 面试题
应届毕业生求职自荐书
2014/01/03 职场文书
商务会议邀请函
2014/01/09 职场文书
医院实习介绍信
2014/01/12 职场文书
公司会计主管岗位责任制
2014/03/01 职场文书
中介公司区域经理岗位职责范本
2014/03/02 职场文书
经贸专业毕业生求职信范文
2014/05/01 职场文书
标准版离职证明书
2014/09/12 职场文书
宝宝满月宴答谢词
2015/09/30 职场文书