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存在的话,就更新,不存在的话就添加
原文地址:https://www.cnblogs.com/blackbird0423/p/8203780.html