在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中base64加密解密方法实例分析
May 16 Python
Python爬虫包BeautifulSoup实例(三)
Jun 17 Python
virtualenv 指定 python 解释器的版本方法
Oct 25 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
Jun 17 Python
nginx+uwsgi+django环境搭建的方法步骤
Nov 25 Python
使用Python实现Wake On Lan远程开机功能
Jan 22 Python
PyCharm 无法 import pandas 程序卡住的解决方式
Mar 09 Python
解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题
Jun 01 Python
QML实现钟表效果
Jun 02 Python
Python使用itcaht库实现微信自动收发消息功能
Jul 13 Python
Django如何实现密码错误报错提醒
Sep 04 Python
python如何实现递归转非递归
Feb 25 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
十大催泪虐心动漫电影,有几部你还没看
2020/03/04 日漫
全国FM电台频率大全 - 26 西藏自治区
2020/03/11 无线电
php使用CURL伪造IP和来源实例详解
2015/01/15 PHP
php截取指定2个字符之间字符串的方法
2015/04/15 PHP
php post大量数据时发现数据丢失问题解决方法
2015/06/20 PHP
PHP实现批量检测网站是否能够正常打开的方法
2016/08/23 PHP
php str_getcsv把字符串解析为数组的实现方法
2017/04/05 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
Yii2使用表单上传文件的实例代码
2017/08/03 PHP
Javascript在IE和FireFox中的不同表现简析
2012/12/03 Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
2013/12/13 Javascript
jquery鼠标停止移动事件
2013/12/21 Javascript
web前端开发upload上传头像js示例代码
2016/10/22 Javascript
js代码实现下拉菜单【推荐】
2016/12/15 Javascript
如何解决hover在ie6中的兼容性问题
2016/12/15 Javascript
AngularJS中filter的使用实例详解
2017/08/25 Javascript
Vue 组件注册实例详解
2019/02/23 Javascript
layui 实现二级弹窗弹出之后 关闭一级弹窗的方法
2019/09/18 Javascript
layui 富文本编辑器和textarea值的相互传递方法
2019/09/18 Javascript
vue cli3适配所有端方案的实现
2020/04/13 Javascript
[01:20:47]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第一场 1月19日
2021/03/11 DOTA
解决PyCharm的Python.exe已经停止工作的问题
2018/11/29 Python
Python generator生成器和yield表达式详解
2019/08/08 Python
Python aiohttp百万并发极限测试实例分析
2019/10/26 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
python中upper是做什么用的
2020/07/20 Python
html5启动原生APP总结
2020/07/03 HTML / CSS
Goodee官方商店:迷你投影仪
2021/03/15 全球购物
采购部主管岗位职责
2014/01/01 职场文书
优秀毕业生求职信范文
2014/01/02 职场文书
市场营销调查计划书
2014/05/02 职场文书
机械工程学院大学生求职信
2014/05/25 职场文书
西湖英语导游词
2015/02/06 职场文书
2015年计划生育责任书
2015/05/08 职场文书
如何做好员工培训计划?
2019/07/09 职场文书
Python matplotlib多个子图绘制整合
2022/04/13 Python