专栏中心

EEPW首页 > 专栏 > Python中元组、列表、字典的遍历和相互转化详解

Python中元组、列表、字典的遍历和相互转化详解

发布人:only1 时间:2020-10-09 来源:工程师 发布文章

  今天扣丁学堂给大家总结了一下关于在Python中元组(tuple),列表(list)和字典(dict)的介绍,相信很多同学在学Python基础教程时会经常用到,它们的遍历和之间的相互转换在使用中也非常重要,下面我们一起来看一下吧。

  一、元组,列表,字典的遍历


  1.1元组的遍历


  元组的遍历借助range()函数,基本思想是通过元组的长度使用for循环进行遍历,代码如下:


  [python]viewplaincopyfruits=("apple","banana","orange")


  foriinrange(len(fruits)):


  print(fruits[i])


  *注意:元组是无法进行重新赋值的,需要将元组进行转换后在进行重新赋值,如转换为list,下面会展示如何转换。


  1.2列表的遍历


  列表的遍历可以直接使用for循环,也可以借助range()函数,代码如下:


  [python]viewplaincopy#直接遍历


  fruit_list=['apple','banana','orange']


  forfruitinfruit_list:


  print(fruit)


  #借助range()函数进行遍历


  fruit_list=['apple','banana','orange']


  foriinrange(len(fruit_list)):


  print(fruit_list[i])


  1.3字典的遍历


  字典的遍历主要借助于字典中的key值,代码如下:


  [python]viewplaincopyfruit_dict={'apple':1,'banana':2,'orange':3}


  forkeyinfruit_dict:


  print(fruit_dict[key])


  上面介绍的是这三者最简单的遍历方法,还有其他的遍历方法没有涉及到,当然,无论怎么变化,都可以使用这几种方法进行处理。


  二、元组,列表,字典之间的转换


  这三者之间的转换并不复杂,但字典的转换由于有key的关系,因此其他二者不能转换为字典。


  2.1对元组进行转换


  [python]viewplaincopyfruits=('apple','banana','orange')


  #元组转换为列表:


  list(fruit)


  #元组不能直接转换为字典,附:


  #元组转换为字符串:


  fruits.__str__()


  2.2对列表的转换


  [python]viewplaincopyfruit_list=['apple','banana','orange']


  #列表转换为元组:


  tuple(fruit_list)


  #列表不能直接转换为字典,附:


  #列表转换为字符串:


  str(fruit_list)


  2.3对字典的转换


  可以使用函数tuple()和list()将字典转换为元组和列表,但要注意的是,这里的转换后和之前的元素顺序是不同的,因为字典类似于散列,列表类似于链表,元组类似于列表只是元素无法改变,所以,要把散列转换为链表而顺序不变是不可行的。但可以借助于有序字典OrderedDict,有序字典是字典的子类,它可以记住元素添加的顺序,从而得到有序的字典。有序字典这里就不深入探讨,给出普通字典的例子参考,代码如下:


  [python]viewplaincopyfruit_dict={'apple':1,'banana':2,'orange':3}


  #将字典的key转换为元组:


  tuple(fruit_dict)


  #将字典的value转换为元组:


  tuple(fruit_dict.value())


  #将字典的key转换为列表:


  list(fruit_dict)


  #将字典的value转换为列表:


  list(fruit_dict.value())


  #附:


  #将字典转换为字符串:


  str(fruit_dict)


  2.4附:对字符串的转换


  要将字符串转换为指定的数据结构,那么字符串就必须符合指定数据结构的格式,并借助于eval()函数


  [python]viewplaincopy#将字符串转换为元组:


  str="(1,2,3)"


  tuple(eval(str))


  #将字符串转换为列表:


  str="(1,2,3)"


  list(eval(str))


  #将字符串转换为字典:


  str="{'a':1,'b',2}"


  eval(str)


  以上就是关于Python视频教程中元组、列表、字典的遍历和相互转化详解,最后想要了解更多关于Python发展前景趋势,请关注扣丁学堂官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供权威的Python培训视频教程系统,通过千锋扣丁学堂金牌讲师在线录制的自适应Python在线视频课程系统,让你快速掌握Python从入门到精通开发实战技能。扣丁学堂Python技术交流群:816572891。

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

[Android开发视频教学]代码编写(三)(31)

视频 2010-10-29

[Android开发视频教学]代码编写(二)(30)

视频 2010-10-29

联电赴美合并格罗方德?英特尔也许是更好的选择

日月光CPO装置 抢数据中心商机

EDA/PCB 2025-04-03

带钢热连轧计算机控制

创新影响追踪:MEMS传感器如何改变游戏规则

起底神秘半导体公司新凯来

EDA/PCB 2025-04-03

[Android开发视频教学](特别篇)Linux环境搭建

视频 2010-10-29

[Android开发视频教学]代码编写(一)下(29)

视频 2010-10-29

大功率交-交变频调速及矢量控制技术

动态测试WBG功率半导体裸片

单面板设计与制程能力规范

Intel、台积电、三星激战2nm!三巨头先进工艺制程进度一览

EDA/PCB 2025-04-03

大功率交-交变频调速及矢量控制技术第2版

带钢热连轧计算机控制(1)

[Android开发视频教学]代码编写(四)(32)

视频 2010-10-29

电控固态开关管理热流:改进的热敏开关以电气方式控制热流

李想呼吁别让自动驾驶变成文字游戏:建议统一中文名

金士顿进军PCIe5.0 SSD!首款产品曝光:读速14.8GB/s接近极限

网络与存储 2025-04-03

创意推全球首款HBM4 IP 于台积电N3P制程成功投片

网络与存储 2025-04-03
更多 培训课堂
更多 焦点
更多 视频

技术专区