Python自动化测试白羊座-week3字典

#和列表一样,只不过是不可变变量
#定义元组时,如果元组只有一个元素,要在元素后面加一个逗号,要不然就是一个字符串
lis = [] #列表这样定义
tp = ('127.0.0.1','3306')
#lis[0]='3306' #不能这样写,因为这个列表为空,下标0不存在,要用append或者insert
print(lis)
print(tp)

tp = ('127.0.0.1','3306') #元组
names = [1,2,3,"lingyul",'panyang'] #列表
name = 'lingyul,cyc'
new_lis = tuple(lis)
print(type(new_lis))

#强制类型转换的int float str list tuple




#字符串,列表,字典
#字典是无序的
#定义一个字典
info = {
    'name':'lingyul',
    'age':18,
    'sex':'woman',
    'id':'1',

}
#查询
print(info['name'])
print(info.get('id'))
print(info.get('addr')) #get方法取值找不到时会返回none#####运行结果为none
print(info.get('addr','beijing'))  #如果get取不到值,就返回后面的那个值#####运行结果为beijing
#这两个的区别是:用[]取值如果值没有,会返回错误信息
#get方法取值找不到时会返回none

#字典的取值就这两种方法

#增
info['addr'] = 'Beijing'
print(info.get('addr'))

info.setdefault('phone',110110)
print(info)

#修改
info['id']=7  #这种方法既能新增也能修改,在有id这个值得情况下为修改,在没有这个值得情况下会新增
print(info)

#删除
del info['addr']
print(info)

#字典是无序的,所以用pop删除时必须指定删除什么
print(info.pop('phone'))
print(info)

info.popitem() #随即删除一个元素

info.clear()  #清空字典

#????????????????????????????????????????????????????????????????????????????
new_infos = [
    {
        'yangwb':
        {
            'id':1,
            'sex':'mans',
            'phone':250,
            'addr':'huoying'

        },
        'yangwn':
        {
            'id':2,
            'sex':'mans'
        }

    }

]

print(new_infos[0].get('yangwb').get('addr'))




all={
    'car':
        {
            'color':['red','yellow','black'],
            'moeny':111111,
            'pailiang':'2.5L',
            'name':'BMW'


        },
    'car1':
        {


        },
    'car2':
        {



        }

}

print(all.keys())#获取字典的所有key
print(all.values())#获取所有的value
print('items is:',all.items())#同时获取字典的key和values,循环的使用

info2 = {
    'name':'lingyul',
    'age':18,
    'sex':'woman',
}
for k,v in info2.items():
    print('%s is %s:'%(k,v))# items方法的作用就是为了循环时同时把key和value取到
#如果数据比较大时,会很慢,它是先把字典取出来变成字符串,在取字符串的值

#这种效率比较高
for k in info2:
    print('k is:',k)
    print(info2[k])


#把两个字典合并在一起,如果有一样的Key,那么更新value
info.update(info2)

#python2中判断key是否存在,python3中没有
info.has_key('name')
print('name' in info) #python3中直接用in判断是否存在某个key值


posted on 2017-05-21 17:38  yuer011  阅读(118)  评论(0编辑  收藏  举报

导航