python元组与列表相互转换_python字符串/列表/元组/字典之间的相互转换(5)

一.字符串str与列表list

1.字符串转列表

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

#!usr/bin/env python#-*- coding:utf-8 _*-

"""@Author:何以解忧

@Blog(个人博客地址): shuopython.com

@WeChat Official Account(微信公众号):猿说python

@Github:www.github.com

@File:python_data.py

@Time:2019/9/20 20:45

@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教程

28

************************************************************['hello', 'word', '猿说python', 'python教程']

4

************************************************************['hello word 猿说', 'ython', 'ython教程']

3

************************************************************['hell', 'w', 'rd 猿说pyth', 'n pyth', 'n教程']

5

2.列表转字符串

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

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']

4

************************************************************猿说pythonwordpython教程hello

25

二.字符串str与字典dict

1.字符串转字典

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

#注意单引号和双引号的配合使用

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 }

46

************************************************************{'name': 'zhangsan', 'age': 18, 'sing_dog': False}

3

2.字典转字符串

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

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}

3

************************************************************{'name': 'zhangsan', 'age': 18, 'sing_dog': False}

50

三.列表list与字典dict

1.列表转字典

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

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'}

4

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

2.字典转列表

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

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']

3

************************************************************['zhangsan', 18, False]

3

猜你喜欢:

技术交流、商务合作请直接联系博主

扫码或搜索:猿说python

2019_09_16_2138492599-300x300.png

猿说python

微信公众号 扫一扫关注

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值