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

Posted 猿说编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 字符串/列表/元组/字典之间的相互转换相关的知识,希望对你有一定的参考价值。

目录

零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门

一.字符串 str 与列表 list

1.字符串转列表

字符串转为列表 list ,可以使用 str.split() 方法, split 方法是在字符串中对指定字符进行切片,并返回一个列表,示例代码如下:

# !usr/bin/env python
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python字符串/列表/元组/字典之间的相互转换.py
@Time:2021/3/23 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!

"""

str1 = "hello word 猿说python python教程"
print(str1)                 # 输出字符串
print(type(str1))                 # 输出数据类型:
print(len(str1))                 # 输出字符串长度

print("***"*20)                 # 小敲门:直接打印60个*
#根据空格切片
list1 = str1.split(" ")              # 对字符串中的空格(\' \')进行切片,返回值是一个列表list并赋值给list1
print(list1)                 # 输出列表数据
print(type(list1))                 # 输出数据类型:类型
print(len(list1))                 # 输出列表长度(列表的数据个数)

print("***"*20)                 # 小敲门:直接打印60个*
#根据字符\'p\'切片
list1 = str1.split("p")               # 对字符串中的\'p\'进行切片,返回值是一个列表list并赋值给list1
print(list1)                 # 输出列表数据
print(type(list1))                 # 输出数据类型:类型
print(len(list1))                 # 输出列表长度(列表的数据个数)

print("***"*20)                 # 小敲门:直接打印60个*
#根据字符\'o\'切片
list1 = str1.split("o")               # 对字符串中的\'o\'进行切片,返回值是一个列表list并赋值给list1
print(list1)                 # 输出列表数据
print(type(list1))                 # 输出数据类型:类型
print(len(list1))                 # 输出列表长度(列表的数据个数)


\'\'\'
输出结果:
hello word 猿说python python教程
<class \'str\'>
28
************************************************************
[\'hello\', \'word\', \'猿说python\', \'python教程\']
<class \'list\'>
4
************************************************************
[\'hello word 猿说\', \'ython \', \'ython教程\']
<class \'list\'>
3
************************************************************
[\'hell\', \' w\', \'rd 猿说pyth\', \'n pyth\', \'n教程\']
<class \'list\'>
5

\'\'\'

2.列表转字符串

列表转为字符串需要使用”.join()方法,join() 方法可以直接将列表转为一个字符串,示例代码如下:

# !usr/bin/env python
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python字符串/列表/元组/字典之间的相互转换.py
@Time:2021/3/23 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!

"""

list1 = ["hello", "word", "猿说python", "python教程"]
print(list1)                 # 输出字符串
print(type(list1))                 # 输出数据类型:
print(len(list1))                 # 输出字符串长度

print("***"*20)                  # 小敲门:直接打印60个*
#根据空格切片
str1 = "".join(list1)                 # 对字符串中的空格(\' \')进行切片,返回值是一个列表list并赋值给list1
print(str1)                   # 输出列表数据
print(type(str1))                   # 输出数据类型:类型
print(len(str1))                   # 输出列表长度(列表的数据个数)

\'\'\'
输出结果:
[\'猿说python\', \'word\', \'python教程\', \'hello\']
<class \'list\'>
4
************************************************************
猿说pythonwordpython教程hello
<class \'str\'>
25

\'\'\'

二.字符串 str 与字典 dict

1.字符串转字典

将字符串转为字典可以通过内置函数 eval() 完成,对于内置函数 eval() 的使用,在后面的文章还会有详细讲解,今天先简单了解一下:

# !usr/bin/env python
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python字符串/列表/元组/字典之间的相互转换.py
@Time:2021/3/23 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!

"""

# 注意单引号和双引号的配合使用
str1 = \'{"name":"zhangsan","age":18,"sing_dog":False }\'
print(str1)
print(type(str1))
print(len(str1))


print("***"*20)      # 小敲门:直接打印60个*
dict1 = eval(str1) # 强制将字符串str转为字典dict
print(dict1)
print(type(dict1))
print(len(dict1))

\'\'\'
输出结果:
{"name":"zhangsan","age":18,"sing_dog":False }
<class \'str\'>
46
************************************************************
{\'name\': \'zhangsan\', \'age\': 18, \'sing_dog\': False}
<class \'dict\'>
3

\'\'\'

2.字典转字符串

将字典转为字符串可以直接通过**str()**类型强制转换即可,示例代码如下:

# !usr/bin/env python
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python字符串/列表/元组/字典之间的相互转换.py
@Time:2021/3/23 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!

"""

dict1 = {"name":"zhangsan","age":18,"sing_dog":False }
print(dict1)
print(type(dict1))
print(len(dict1))


print("***"*20)     # 小敲门:直接打印60个*
str1 = str(dict1) # 强制将字典dict转为字符串str
print(str1)
print(type(str1))
print(len(str1))

\'\'\'
输出结果:
{\'name\': \'zhangsan\', \'age\': 18, \'sing_dog\': False}
<class \'dict\'>
3
************************************************************
{\'name\': \'zhangsan\', \'age\': 18, \'sing_dog\': False}
<class \'str\'>
50

\'\'\'

三.列表 list 与字典 dict

1.列表转字典

列表转为字典不能通过 dict()强制转换,但是可以通过内置函数**zip()**完成,具体代码如下:

# !usr/bin/env python
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python字符串/列表/元组/字典之间的相互转换.py
@Time:2021/3/23 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!

"""

list1 = ["hello", "word", "猿说python", "python教程"]
list2 = ["a","b","c","d","e","f","g"]
dict1 = dict(zip(list1,list2))

print(dict1)
print(type(dict1))
print(len(dict1))

\'\'\'
输出结果:
{\'hello\': \'a\', \'word\': \'b\', \'猿说python\': \'c\', \'python教程\': \'d\'}
<class \'dict\'>
4

\'\'\'

注意:内置函数 zip 是将两个列表的数据两两组合形成键值对,构成字典;如果两个列表的长度不一致时,多出的元素在另一个列表无匹配的元素时就不展示多出的元素。

2.字典转列表

可以通过**list()**方法强制将字典中的 key 或者 value 转为列表,示例代码如下:

# !usr/bin/env python
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python字符串/列表/元组/字典之间的相互转换.py
@Time:2021/3/23 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!

"""

dict1 = {"name":"zhangsan","age":18,"sing_dog":False }
# 强制将字典dict中的keys转为列表
list1= list(dict1.keys())
print(list1)
print(type(list1))
print(len(list1))


print("***"*20) # 小敲门:直接打印60个*
# 强制将字典dict中的values转为列表
list2 = list(dict1.values())
print(list2)
print(type(list2))
print(len(list2))

\'\'\'
输出结果:
[\'name\', \'age\', \'sing_dog\']
<class \'list\'>
3
************************************************************
[\'zhangsan\', 18, False]
<class \'list\'>
3

\'\'\'

四.猜你喜欢

  1. Python 简介
  2. Python Pycharm Anacanda 区别
  3. Python2.x 和 Python3.x,如何选择?
  4. Python 配置环境
  5. Python Hello World 入门
  6. Python 代码注释
  7. Python 中文编码
  8. Anaconda 是什么?Anconda 下载安装教程
  9. Pycharm 提示:this license **** has been cancelled
  10. Pycharm 设置开发模板/字体大小/背景颜色
  11. Python 列表 list
  12. Python 元组 tuple
  13. Python 字典 dict

未经允许不得转载:猿说编程 » Python 字符串/列表/元组/字典之间的相互转换

本文由博客 - 猿说编程 猿说编程 发布!

以上是关于Python 字符串/列表/元组/字典之间的相互转换的主要内容,如果未能解决你的问题,请参考以下文章

Python - 列表与字典相互转换

python 字符串,列表,元组,字典相互转换

Python列表元组集合字典的区别和相互转换

Python列表,元组,集合,字典的区别和相互

对比Python中的列表元组字典集合字符串等之间异同

Python列表元组集合字典的区别和相互转换