Python 实现list,tuple,str和dict之间的相互转换

 更新时间:2021年03月10日 09:14:37   作者:Violet-Guo  
这篇文章主要介绍了Python 实现list,tuple,str和dict之间的相互转换,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1、字典(dict)

dict = {‘name': ‘Zara', ‘age': 7, ‘class': ‘First'}

1.1 字典——字符串

返回:

print type(str(dict)), str(dict)

1.2 字典——元组

返回:(‘age', ‘name', ‘class')

print tuple(dict)

1.3 字典——元组

返回:(7, ‘Zara', ‘First')

print tuple(dict.values())

1.4 字典——列表

返回:[‘age', ‘name', ‘class']

print list(dict)

1.5 字典——列表

print dict.values

2、元组

tup=(1, 2, 3, 4, 5)

2.1 元组——字符串

返回:(1, 2, 3, 4, 5)

print tup.__str__()

2.2 元组——列表

返回:[1, 2, 3, 4, 5]

print list(tup)

2.3 元组不可以转为字典

3、列表

nums=[1, 3, 5, 7, 8, 13, 20];

3.1 列表——字符串

返回:[1, 3, 5, 7, 8, 13, 20]

print str(nums)

3.2 列表——元组

返回:(1, 3, 5, 7, 8, 13, 20)

print tuple(nums)

3.3 列表不可以转为字典

4、字符串

4.1 字符串——元组

返回:(1, 2, 3)

print tuple(eval("(1,2,3)"))

4.2 字符串——列表

返回:[1, 2, 3]

print list(eval("(1,2,3)"))

4.3 字符串——字典

返回:

print type(eval("{'name':'ljq', 'age':24}"))

补充:python入门之路:一个小错误,str变tuple

笔者在编程的时候发现,原先定义的str字符串在传递和引用的时候会莫名其妙改变类型,变成tuple。

import random 
class get_Veri(object): 
  def random_color(self):
    random_color=(random.randint(0,255),random.randint(0,255),random.randint(0,255))
    return random_color
 
  def random_num(self):
    random_num = str(random.randint(0, 9))
    return random_num
 
  def random_lowerchr(self):
    random_lowerchar=chr(random.randint(97, 122))
    return random_lowerchar
 
  def random_upperchr(self):
    random_upperchr = chr(random.randint(65, 90))
    return random_upperchr
 
  def random_char(self):
    random_char = random.choice([get_Veri.random_num(self), get_Veri.random_upperchr(self), get_Veri.random_lowerchr(self)])
    print(random_char)
    print(type(random_char))
    return random_char

这里random_char函数输出一个随机字符串,可以看到type类型为:

<class 'str'>

在另一个文件中进行引用:

from random_data.py import get_Veri 
 
get_veri=get_Veri()
random_char = get_veri.random_char(),
print(random_char)
print(type(random_char))

发现random_char的type类型已经发生改变:

<class 'tuple'>

只是一个简单的赋值,为什么会发生改变?

原因是在赋值的时候多加了一个逗号。

这个逗号让编译器执行的时候理解为("str",)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • Python Django安装配置模板系统及使用实战全面详解

    Python Django安装配置模板系统及使用实战全面详解

    本文首先介绍了Django模板系统的基础知识,接着探讨了如何安装和配置Django模板系统,然后深入解析了Django模板的基本结构、标签和过滤器的用法,阐述了如何在模板中展示模型数据,最后使用一个实际项目的例子来演示如何在实际开发中使用Django模板系统
    2023-09-09
  • 详解DeBug Python神级工具PySnooper

    详解DeBug Python神级工具PySnooper

    这篇文章主要介绍了详解DeBug Python神级工具PySnooper,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python os模块在系统管理中的应用

    python os模块在系统管理中的应用

    这篇文章主要介绍了python os模块在系统管理中的应用,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • 浅谈selenium如何应对网页内容需要鼠标滚动加载的问题

    浅谈selenium如何应对网页内容需要鼠标滚动加载的问题

    这篇文章主要介绍了浅谈selenium如何应对网页内容需要鼠标滚动加载的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • 将本地Python项目打包成docker镜像上传到服务器并在docker中运行

    将本地Python项目打包成docker镜像上传到服务器并在docker中运行

    Docker是一个开源项目,为开发人员和系统管理员提供了一个开放平台,可以将应用程序构建、打包为一个轻量级容器,并在任何地方运行,这篇文章主要给大家介绍了关于将本地Python项目打包成docker镜像上传到服务器并在docker中运行的相关资料,需要的朋友可以参考下
    2023-12-12
  • python+numpy+matplotalib实现梯度下降法

    python+numpy+matplotalib实现梯度下降法

    这篇文章主要为大家详细介绍了python+numpy+matplotalib实现梯度下降法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Python生成图文并茂的PDF报告的方法详解

    Python生成图文并茂的PDF报告的方法详解

    reportlab是Python的一个标准库,可以画图、画表格、编辑文字,最后可以输出PDF格式。本文将利用reportlab模块生成图文并茂的PDF报告,感兴趣的可以了解一下
    2022-06-06
  • django实现悲观锁乐观锁的项目实践

    django实现悲观锁乐观锁的项目实践

    在Django中,我们可以通过实现悲观锁和乐观锁来保证数据的安全性,本文就来介绍一下django实现悲观锁乐观锁的项目实践,感兴趣的可以了解一下
    2023-08-08
  • 使用pd.merge表连接出现多余行的问题解决

    使用pd.merge表连接出现多余行的问题解决

    本文主要介绍了使用pd.merge表连接出现多余行的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Python3实现简单可学习的手写体识别(实例讲解)

    Python3实现简单可学习的手写体识别(实例讲解)

    下面小编就为大家带来一篇Python3实现简单可学习的手写体识别(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10

最新评论