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

本文总结了Python中元组、列表和字典的遍历方法,包括元组借助range()函数遍历,列表直接或借助range()遍历,字典借助key遍历。此外,还探讨了三者之间的转换,如利用tuple()和list()函数转换,以及在保持顺序不变的情况下转换字典的挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Python中元组(tuple),列表(list)和字典(dict)都是经常用到的,它们的遍历和之间的相互转换在使用中也非常重要,下面进行相关的总结:

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

    1.1 元组的遍历

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

 

fruits=("apple","banana","orange")  
for i in range(len(fruits)):   
    print(fruits[i]) 


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

    1.2 列表的遍历

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

#直接遍历
fruit_list = ['apple','banana','orange']
for fruit in fruit_list:
    print(fruit)
    
#借助range()函数进行遍历
fruit_list = ['apple','banana','orange']
for i in range(len(fruit_list)):
    print(fruit_list[i])

    1.3 字典的遍历

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

fruit_dict = {'apple':1, 'banana':2, 'orange':3}
for key in fruit_dict:
    print(fruit_dict[key])


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

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

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

    2.1 对元组进行转换

    

fruits = ('apple','banana','orange')
 
#元组转换为列表:
list(fruit)
 
#元组不能直接转换为字典,附:
#元组转换为字符串:
fruits.__str__()


     
    2.2 对列表的转换

    

fruit_list = ['apple','banana','orange']
 
#列表转换为元组:
tuple(fruit_list)
 
#列表不能直接转换为字典,附:
#列表转换为字符串:
str(fruit_list)

    2.3 对字典的转换

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

fruit_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() 函数


 

#将字符串转换为元组:
str = "(1,2,3)"
tuple(eval(str))
#将字符串转换为列表:
str = "(1,2,3)"
list(eval(str))
#将字符串转换为字典:
str = "{'a':1 ,'b',2}"
eval(str)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值