python中字符串,列表,元祖和字典之间的相互转换

python中字符串,列表,元祖和字典之间的相互转换

  • 字典的转换方法
    1.字典转换为字符串 str(dict)
    2.字典转换为元组 tuple(dict)
    3.字典转换为列表 list(dict)
dict = {'name': 'Zara', 'age': 7, 'class': 'First'}

# 1.字典转换为字符串

print(str(dict),type(str(dict)))#{'name': 'Zara', 'age': 7, 'class': 'First'} <class 'str'>

# 2.字典转换为元组
#    字典的键转换为元组
print(tuple(dict),type(tuple(dict)))#('name', 'age', 'class') <class 'tuple'>
#字典的值转换为元组
print(tuple(dict.values()),type(tuple(dict)))#('Zara', 7, 'First') <class 'tuple'>
#字典的键和值都转换为字典
a=tuple(dict)
b=tuple(dict.values())
print(a+b)#('name', 'age', 'class', 'Zara', 7, 'First')


# 3.字典转换为列表
#字典的键转换为列表
print(list(dict))#['name', 'age', 'class']
# 字典的值转换为列表
print(list(dict.values()))#['Zara', 7, 'First']
# 字典的键和值转换为列表
a=list(dict)
b=list(dict.values())
print(a+b)#['name', 'age', 'class', 'Zara', 7, 'First']
  • 元组的转换方法
    1.元组转换为字符串 tup._ str _() 或是str(tup)
    2.元组转换为列表 list(tup)
    3.元组转换为字典的方法 zip()或是 dict()
tup=(1, 2, 3, 4, 5)

# 1.元组转换为字符串
print(str(tup),type(str(tup)))#(1, 2, 3, 4, 5) <class 'str'>
print( tup.__str__(),type( tup.__str__()))#(1, 2, 3, 4, 5) <class 'str'>

# 2.元组转换为列表
print(list(tup))#[1, 2, 3, 4, 5]


# 3.元祖转换为字典
# 第一种方法
tup1=(1,2,3,4,5,)
tup2=(5,4,3,2,1)
tup3=zip(tup1,tup2)
print(dict(tup3))#{1: 5, 2: 4, 3: 3, 4: 2, 5: 1}
# 第二种方法
tup4=(1,2)
tup5=("a","b")
tup6=(tup4,tup5)
print(dict(tup6))#{1: 2, 'a': 'b'}
# 第三种方法
list=[]
for k,v in enumerate(tup):
    list.append(k)
print(list)#[0, 1, 2, 3, 4]
tup7=zip(list,tup)
print(dict(tup7))#{0: 1, 1: 2, 2: 3, 3: 4, 4: 5}
  • 列表的转换方法
    1.列表转换为字符串 str(li)
    2.列表转换为元组 tuple(li)
    3.列表转换为字典 zip() dict()

nums=[1, 3, 5, 7, 8, 13, 20];
# 1列表转换为字符串
print(str(nums))#[1, 3, 5, 7, 8, 13, 20]
# 2.列表转换为元组
print(tuple(nums))#(1, 3, 5, 7, 8, 13, 20)
# 3.列表转换为字典
# 第一种方法
a = ['a1','a2','a3','a4']
b = ['b1','b2','b3']
c=zip(a,b)
print(dict(d))  # {'a1': 'b1', 'a2': 'b2', 'a3': 'b3'}
# 当两个列表的长度不一致时,多出的元素在另一个列表无匹配的元素时就不展示多出的元素
# 第二种方法
a = ['a1','a2']
b = ['b1','b2']
d=[1,2]
c = [a,b,d]
print(dict(c)) # {'a1': 'a2', 'b1': 'b2', 1: 2
# 第三种方法
lis=[]
for k,v in enumerate(nums):
    lis.append(k)
print(lis)#[0, 1, 2, 3, 4, 5, 6]
dic=zip(lis,nums)
print(dict(dic))#{0: 1, 1: 3, 2: 5, 3: 7, 4: 8, 5: 13, 6: 20}
  • 字符串的转换方法
    1.字符串转换为元组 tu1=tuple(eval(“str”)); tuple(str)
    2.字符串转换为列表 tu1=list(eval(“str”)); list(str)
    3.字符串转换为字典 eval("{‘name’:‘ljq’, ‘age’:24}")
str='1234567'
# 1.字符串转换为元祖
tul=tuple(eval("str"))
print(tul)#('1', '2', '3', '4', '5', '6', '7')
print(tuple(str),type(tuple(str)))#('1', '2', '3', '4', '5', '6', '7') <class 'tuple'>

# 2.字符串转换为列表
tul1=list(eval("str"))
print(tul1)#['1', '2', '3', '4', '5', '6', '7']
print(list(str))#['1', '2', '3', '4', '5', '6', '7']
print(eval("{'name':'ljq', 'age':24}"),type(eval("{'name':'ljq', 'age':24}")))#{'name': 'ljq', 'age': 24} <class 'dict'>
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值