Python中的数据结构 --- 元组(tuple)、字典(tuple)

   元组(tuple)本身是不可变数据类型,没有增删改查;元组内可以存储任意数据类型
一、元组的创建

  例:t = (1,2.3,'star',[1,2,3])      ## 元组里面包含可变类型,故可以间接修改元组类型
二、元组的特性
  t = ([1, 2, 3], 4)
  1)索引

    print t[0]       ## 输出元组的第一个元素
  2)切片

    print t[::-1]    ## 倒叙输出元组的所有元素
  3)重复  
   print t*3  

  4)连接 
   print t+('43',[1,3])      ## 连接的类型必须为元组
  5)成员操作符

    print 'we' in t           ## 若we元素在t元组里面,返回True;否则,返回False
  6)for循环
三、元组的应用
  1、变量的交换
   a = 1
   b = 3
   a, b = b, a       ## 实现a、b的交换
  2、打印变量值
   name = 'westos'
   age = 10
   t = (name, age)
   print "name:%s  age:%d" % (name, age)
   print "name:%s  age:%d" % t
  3、元组的赋值:有多少个元素,就有多少个变量接受
   t = ('hello', 10, 100)
   a, b, c = t         ## 此时,变量a、b、c中分别被赋值为hello,10,100
  4、由于元组不可以直接使用排序函数;但可以使用以下两种方法进行排序
   1)可以使用:sorted进行排序是临时的,不修改变量里面的值
  
   2)把元组类型转换为列表,就可以对列表里面的内容进行排序
    

 

   字典(dict)是一个无序的数据集合,使用print输出时,通常输出的顺序和定义的顺序是不一致的。

一、字典的定义

   1)定义方法1

    message = {

     'name': 'tom',

     'age': 18,

     'height': 1.8,

     'weight': 75.5

    }

  2)定义方法2

   s = {}

   s = {

      'student':['xi','xh'],

      'school':['xaut','2']

    }

  3)定义方法3:

   d = dict(a=1, b=2, c=5)

   print d, type(d)

二、字典的特性:没有索引、切片、重复、连接;有成员操作符、for循环 

  1)成员操作符(默认判断key值是否存在)
   
  2)for循环(默认循环遍历字典的key值)
   for i in d:
     print i 

三、字典的增加

 1)添加或者更改key-value对

 
 2)update: 如果key值存在,更新value值;如果key值不存在,添加key-value值
 

 
3)setdefault:如果key值已经存在,不做修改;如果key值不存在,添加key-value值
  

四、字典的删除

  1)使用pop('key'),弹出指定的key-value值

   

  2)使用popitem(),删除字典的第一个元素

   

  3)del :删除字典

       

五、字典的修改与查看

   service = {'http':80,'mysql:3306'}

  1)查看字典里面所有的key值

    print  service.keys()

  2)查看字典里面所有的value值

    print service.values()

  3)查看字典里面所有的key-value值

    print service.items()

  4)遍历

    for k,v  in  service.items():

         print k,'--->',v              ## 直接输出key和value值

    for k in service:

         print k,'--->',service[k]     ## 利用key值,检索到value值

  5)判断指定key对应的value

    if 'http' in service:

        print service['http']

    else:

        print 'key  not exist'

    或者使用get方法来获取:如果key存在,返回对应的value值;否则默认返回None,如果需要指定返回值,传值即可

    print service.get('http','key  not exist')

 

   

   

 

posted @ 2018-09-03 21:31  UTHN_B  阅读(889)  评论(0编辑  收藏  举报