字典的数据特点:
基本
1、符号:{ }
关键字:dict
2、格式:
my_dict = {
'key1':'value1',
'key2':'value2'
}
3、作用:
1)与列表一样,用于储存多个数据,但是为什么有列表不用,还多了个字典?因为字典储存的数据都会有一个类似标题的值,用于表示每个元素的具体意思
2)字典中可以储存多种不同的数据类型包含列表,字符串,整数等。。。
注意事项
1、字典中对‘key’的要求,不能使用重复的key,若key重复,则会导致后面相同的key以及value会替代前一个key和value。
2、字典是无序的数据类型(若使用print打印字典,则字典的顺序会被打乱,但是在python3.3以上的版本已经修复了该显示问题,但是实际字典的序列还是无序的)
3、字典对应的value是可以进行更改的,但是如果这个value是一个元组,那么久无法进行更改,因为元组属于不可变的数据类型,无法进行增删改。
4、字典无法进行索引以及切片,因为我上面第二点说的,字典的无序性
字典的长度len()
格式:len(my_dict())
my_dict = {
'user_name':'galaxy',
'password':'123456'
'password':'654321'
}
print(len(my_dict()))
# 2
1、为什么长度只有2?明明有4个元素。因为字典的话个数为key的个数。
2、那如果是key的话不是有三个?上述说过若key重复,后面的key会取代前面的key(无序,不一定谁前谁后)。所以同理重复的话个数也是视为1个。
字典的查找
1、通过key值来查找value:
my_dict = {
'name':'tom',
'age':'18',
'sex':'男',
'tel':'12345678'
1:'key也可以是一个整型'
}
print(my_dict['name'])
print(my_dict[1)
# tom
# key也可以是一个整型
2、获取字典中所有的key,或者value,或者两者同时获取:
1)获取所有的key:my_dict.keys()
my_dict = {
'name':'tom',
'age':'18',
'sex':'男',
'tel':'12345678'
1:'key也可以是一个整型'
}
print(my_dict_1.keys())
# dict_keys(['name', 'age', 'sex', 'tel', 1])
2)获取所有的value:my_dict.values()
my_dict = {
'name':'tom',
'age':'18',
'sex':'男',
'tel':'12345678'
1:'key也可以是一个整型'
}
print(my_dict_1.vlaues())
# dict_values(['tom', '17', '男', '15080382969', 'key也可以是一个整型'])
3)获取所有的key以及value并将其以列表的嵌套元组的形式打印:
my_dict.items()
my_dict = {
'name':'tom',
'age':'18',
'sex':'男',
'tel':'12345678'
1:'key也可以是一个整型'
}
print(my_dict_1.vlaues())
# dict_items([('name', 'tom'), ('age', '17'), ('sex', '男'), ('tel', '15080382969'), (1, 'key也可以是一个整型')])
4)同样我们也可以将上诉格式[(‘name’:‘tom’)]的数据转换为字典形式
my_list = [('name', 'tom'), ('age', '17'), ('sex', '男'), ('tel', '15080382969'), (1, 'key也可以是一个整型')]
print(dict(my_list))
#{'name': 'tom', 'age': '17', 'sex': '男', 'tel': '15080382969', 1: 'key也可以是一个整型'}
字典的操作
添加元素
格式:my_dict[‘新的key’] = value
my_dict = {
'name':'jay',
'age':'35',
'sex':'男',
'tel':'12345678'
}
my_dict['song'] = '晴天'
print(my_dict)
#{'name': 'jay', 'age': '35', 'sex': '男', 'tel': '12345678', 'song': '晴天'}
删除元素
格式:my_dict.pop[key]
my_dict = {
'name':'jay',
'age':'35',
'sex':'男',
'tel':'12345678'
'song': '晴天'
}
my_dict.pop['song'] = '晴天'
print(my_dict)
#{'name': 'jay', 'age': '35', 'sex': '男', 'tel': '12345678'}
字典常用的场景
虽然字典是无序的数据类型但是dict可以嵌套list,把无序的数据调整为有序的数据。
接口测试用例:将列表与字典结合,形成了一个接口测试的用例,使用该方法可以获取用例的url/method等。
cases = [
{"url":" /login",'method':'post','parameter':'test1'},
{"url":"http://",'methodt':'GET','parameter':'test2'}
]
print(cases[0].get('method'))
# post
还不是很完整,后续会继续补充
总的来说只要有一一对应的数据,都可以使用字典来进行存储,方便查找