在Python中字符串、列表、元组、字典之间的相互转换
作者:KaiSarH 发布时间:2021-08-30 07:09:42
一、字符串(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)
运行结果:
字符串 转换为 元组
使用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 json
str_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://blog.csdn.net/KaiSarH/article/details/103041253


猜你喜欢
- 前言本文主要给大家介绍了关于Three.js利用orbit controls插件(轨道控制)控制模型交互动作的相关内容,这个效果相对于第八节
- list.asp<%@LANGUAGE="VBSCRIPT" CODEPAGE="936&qu
- elasticsearch 的client ,通过 NewClient 建立连接,通过 NewClient 中的 Set.URL设置访问的地
- 前言Python 字典 update()方法用于更新字典中的键/值对,可以修改存在的键对应的值,也可以添加新的键/值对到字典中。语法格式d.
- import导入包搜索路径import用于导入包:import ( "fmt"
- 学习内容1.软件安装及服务器设置。2.(选做,但是强烈建议) 使用图形界面软件 Navicat for SQL3.数据库基础知识数据库定义关
- 创建测试数据:import pandas as pdimport numpy as np#Create a DataFramedf1 = {
- 今天看了篇关于Web Form Design的成功案例,虽然讲的事情很简单,但总结了一些方法,翻译过来做个原始积累吧,以后写东西举例子时也好
- 在 Golang 中处理浮点数存在着精度问题,而精度问题会带来诸多的麻烦。因此,我们需要使用高精度数来解决这个问题。shopspring/d
- Fabric是一个用Python开发的部署工具,最大特点是不用登录远程服务器,在本地运行远程命令,几行Python脚本就可以轻松部署。文档入
- 本文实例为大家分享了Bootstrap导航栏和登陆框的具体代码,供大家参考,有不足的地方请大家谅解,大家共同学习进步。<!DOCTYP
- Javascript中的变量同样支持自由类型转换成为适用(或者要求)的内容以便于使用。 弱类型的Javascript不会按照程序员的愿望从实
- 前言相比大家都听过自动化生产线、自动化办公等词汇,在没有人工干预的情况下,机器可以自己完成各项任务,这大大提升了工作效率。编程世界里有各种各
- Python if判断语句中包含ori= 0if i == 1 or 5: print(i)此时并非是判断i是否等于1或者5,而
- 经常有网友会问,SQL Server占用了太多的内存,而且还会不断的增长;或者说已经设置了使用内存,可它没有用到那么多,这是怎么一回事儿呢?
- 某次一不小心,用了delete from xxx 删除了几条重要数据,在网上找了很多方法,但都比较零散,打算记录本次数据找回的过程。大致分为
- 5.0版本和之前版本的差异较大,本篇对熟悉3.2版本的用户给出了一些5.0的主要区别。URL和路由5.0的URL访问不再支持普通URL模式,
- // 去掉字符串的头空格(左空格) function LTrim(str){ var i; for(i=0;i<str.length;
- 本文实例讲述了基于Python实现的ID3决策树功能。分享给大家供大家参考,具体如下:ID3算法是决策树的一种,它是基于奥卡姆剃刀原理的,即
- 这些年来,我发现许多开发者对于何时使用数据操纵语言(DML)触发器与何时使用约束感到迷惑。许多时候,如果没有正确应用这两个对象,就会造成问题