zoukankan      html  css  js  c++  java
  • python自动化测试-D3-学习笔记之二(tuple,dict)

    元组Tuple:元组也是list,只不过是不可变的,意思是不能更改元素的值,一般用来放置程序中不变的数据

    1、元组的定义:

         用()来定义

         mysql=(‘127.0.0.1’,3306,‘my’,‘root’,‘123456’)

    如果只有一个元素的话,元组定义后面必须加逗号,否则就是一个字符串了

        t = ('banner',)

    2、元组的内置方法:

        print(mysql.count('my'))   #找个数

        print(mysql.index('my'))   #返回下标

    字典dict:取值方便,速度快,字典是无序的,key不可以重复,因为是用key来索引的

    1、字典的定义:字典是一种用{}存放key-value的定义方式,key和value用‘:’隔开, 多个key时,用逗号分隔,字典可以嵌套

    eg: d={

                'name':‘张三丰’,

                ‘age’:18,

                ‘sex’:'男',

                'addr':'元末武当山'           

               }

    user_info = {
    'sherry':{
    'age':18,
    'sex':'女',
    'addr':{'北京','天津','三亚'},
    'job':'manger',
    'asset':{'cmbc':1000000,'cbc':500000,'abc':750000}
    },
    'Nacy':{
    'age': 18,
    'sex': '女',
    'addr': '三亚',
    'job': 'manger',
    'asset': 8000000
    },
    'jason':{
    'age': 18,
    'sex': '男',
    'addr': '三亚',
    'job': 'manger',
    'asset': 700000
    }
    }

    2、字典的取值

         1、print(d['name']) # 打印name所对应的value ,[]里放的是key,如果写了不存在的key,则报错

                   结果是 》 张三丰  

          2、print(d.get('name')) #找到name所对应的value ,如果写了不存在的key,则返回None

          3、字典嵌套取值:

              print(user_info['sherry']['asset']['cmbc'] #从上往下一层层依次取值

                  结果是 》1000000

              #计算sherry的所有资产,如下:

              all = user_info['sherry']['asset'].values() 

              all_asset = 0 

              for money in all:

                 all_asset = all_asset+money

               print(all_asset)

                     结果是 》2250000 

    3、字典的增删改查

         1、增加:直接赋值即可,注意key不能重复,key重复了,就是修改了

               d[‘phone’]=18818818818

               d.setdefault('job','武当派掌门')

               print(d)

               结果是 》{'name': '张三丰', 'sex': '男', 'phone': 18818818818, 'age': 18, 'job': '武当派掌门', 'addr': '元末武当山'}

          2、修改:

               d['phone']=17717717717 # 如果这个key存在的话,修改他的值,如果key不存在的话,新增一个

               print(d)

               结果是 》{'name': '张三丰', 'job': '武当派掌门', 'age': 18, 'addr': '元末武当山', 'phone': 17717717717, 'sex': '男'}

         3、删除:

              d.pop('phone') #删除某个key

              d.popitem()  #随机删除key

              del d['addr']  #删除某个key

              d.clear  #清空

           4、查询

                user_info.get('sherry') #获取 sherry 的信息,如果key不存在的话,返回none

                user_info['jason'] #获取jason的值,如果key不存在,会报错

                ‘sherry’ in user_info # 判断是否存在这个字典中,返回的是布尔值

    4、for循环整个字典:

    for k in dic:
    print(k,dic[k])#打印key和value的值,推荐使用这种方式,速度快
    for k in user_info:
    print(k,user_info.get(k))
    结果是:

    Nacy {'job': 'manger', 'addr': '三亚', 'age': 18, 'asset': 8000000, 'sex': '女'}
    jason {'job': 'manger', 'addr': '三亚', 'age': 18, 'asset': 700000, 'sex': '男'}
    sherry {'job': 'manger', 'addr': {'天津', '三亚', '北京'}, 'age': 18, 'asset': {'cbc': 500000, 'cmbc': 1000000, 'abc': 750000}, 'sex': '女'}

              

    for k in user_info:
    print(k)
    结果是:
    Nacy
    sherry
    jason
    for k,v in user_info.items():#把字典的k和v转成一个二维数组,可以用来取值再存到新的list或者dict里
       print(k,v)

    结果是:

    Nacy {'sex': '女', 'addr': '三亚', 'asset': 8000000, 'job': 'manger', 'age': 18}
    sherry {'sex': '女', 'addr': {'三亚', '北京', '天津'}, 'asset': {'abc': 750000, 'cbc': 500000, 'cmbc': 1000000}, 'job': 'manger', 'age': 18}
    jason {'sex': '男', 'addr': '三亚', 'asset': 700000, 'job': 'manger', 'age': 18}

     5、字典的内置方法:

        

    # print(d.keys())#获取到字典所有的key
    # print(d.values())#获取到所有的values
    # d.has_key('addr') #python2里面字典有这个方法,有没有这个key
    # if 'addr' in d :#判断key是否在这个字典里头
    # print('addr')
    # print(d.items())#是把字典的k和v转成一个二维数组
    # for k,v in d.items():#
    # print(k,v)
    # dic.update(dic2)  # 更新字典值,如果key存在的话,就更新,不存在的话就添加
  • 相关阅读:
    日期帮助类
    校验帮助类
    缓存帮助类
    数据转换帮助类
    枚举帮助类
    sql 不常用的知识点记录
    反射实例化不同类型的实例
    xml读取
    读取字段别名
    动态类型赋值处理
  • 原文地址:https://www.cnblogs.com/blackbird0423/p/8203780.html
Copyright © 2011-2022 走看看