Python中元组、列表、字典的遍历和转换知识介绍

以下是对Python中元组(tuple),列表(list)和字典(dict)的遍历和相互转换,供大家参考学习:

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

    1.1 元组的遍历

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

tuple=("value1","value2","value3")    
for i in range(len(tuple)):     
    print(tuple[i]) 
  
for i in tuple:
    print(i)

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

    1.2 列表的遍历

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

#直接遍历 
list = ['value1','value2','value3']  
for i in list:  
    print(i)  
      
#借助range()函数进行遍历  
list =  ['value1','value2','value3']   
for i in range(len(list)):  
    print(list[i])  

   1.3 字典的遍历

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

# 循环迭代键
dict = {'key1':value1, 'key2':value2, 'key3':value3, }  
for key in dict:  
    print(dict[key])  

#下面和上面的一样,这两个遍历的是键,循环迭代值只需把keys换成values就行了
# for key in dict.keys():
#     print(key)

       同时遍历键—值对,使用items方法可以将键-值对作为元组放回,for循环的一大好处就是可以在循环中使用序列解包代码如下:


d = {'x':1,'y':2,'z':3}
 
for key,value in d.items():
    print(key,':',value)

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

 

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

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

    2.1 对元组进行转换

    

tuple = ('value1','value2','value3')  
  
#元组转换为列表:  
list(tuple)  
  
#元组不能直接转换为字典,附:  
#元组转换为字符串:  
list.__str__()  

   2.2 对列表的转换

list = ['value1','value2','value3']  
  
#列表转换为元组:  
tuple(list)  
  
#列表不能直接转换为字典,附:  
#列表转换为字符串:  
str(list)  

   2.3 对字典的转换

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

dict = {'key1':value1,'key2':value2, 'key3':value3}  
  
#将字典的key转换为元组:  
tuple(dict)  
#将字典的value转换为元组:  
tuple(dict.value())  
  
#将字典的key转换为列表:  
list(dict)  
#将字典的value转换为列表:  
list(dict.value())  
  
#附:  
#将字典转换为字符串:  
str(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)  

 

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值