前言:
python的基本数据类型可以分为三类:数值类型、序列类型、散列类型,本文主要介绍散列类型。
一、散列类型
散列类型:内部元素无序,不能通过下标取值
1)字典(dict):用 {} 花括号表示,每一个元素包含键(key)和值(value),key是一般是唯一的,如果重复最后的一个键值对会替换前面的,value不需要唯一。
2)集合(set):用 {} 花括号表示,存放一个个元素,可以是任意类型,但元素不允许重复。
注意:
d = {} 定义的是一个空字典
s = set() 定义的是一个空集合
二、字典dict
1.定义
1)用 {} 花括号表示,每一个元素包含键(key)和值(value),key是一般是唯一的,如果重复最后的一个键值对会替换前面的,value不需要唯一。
2)value可以取任何数据类型,但key是不可变的,新增键值对后,key不可以修改,单value可以修改。
2.字典的常用方法
1)增
dic[key]=value 无则创建,若已有对应的key存在则修改该键值对的value
update():将一个字典的所有元素更新到另一个字典中 (简单来说,就是添加多个元素)
routeros
# 字典 {key:value, key:value} 键/值对形式
# key是唯一的,是不可变类型数据
dic1 = {'name':'张三','age':18,'gender':'男'}
dic2 = {'a':11,'b':22}dic1['city'] = '广州' # 新增键值对
print(dic1)dic1['city'] = '上海' # 根据key修改值
print(dic1)# updata():添加多个键值对(将一个字典更新到一个字典中)
dic1.update(dic2)
print(dic1)
dic2.update({'c': 33, 'd': 44})
print(dic2)
2)删
pop():参数为字典的键(key)
popitem() :删除最后添加的键值对
clear():清空字典中的所有键值对
关腱字del:del dic[key]
routeros
dic1 = {'name':'张三','age':18,'gender':'男','city':'广州'}# pop():删除,需要传入一个键(key)
dic1.pop('gender')
print(dic1)# popitem():不需要传参,删除字典中最后添加进来的一个键值对
dic1.popitem()
print(dic1)# 关键字del
del dic1['age']
print(dic1)# clear():清除字典中的所有键值对
dic1.clear()
print(dic1)
运行结果:
awk
C:\software\python\python.exe D:/myworkspace/test/test/test.py
{'name': '张三', 'age': 18, 'city': '广州'}
{'name': '张三', 'age': 18}
{'name': '张三'}
{}Process finished with exit code 0
3)改
dic[key]=value 通过键去修改值,在第一点中已经举出例子
4)查
get():获取键对应的值,但key不存在时不会报惜,会打印None
keys():获取所有的键,可以用list将结果转成列表
values():获取所有的值,可以用list将结果转换成列表
itmes(): 获取所有的键值对,可以用list将结果转换成列表,列表中每个键值对组成一个元组
routeros
dic1 = {'name':'张三','age':18,'gender':'男'}# get():获取键对应的值
print(dic1.get('name'))
print('这是不存在的键值对:{}'.format(dic1.get('city')))# keys():返回字典中所有的键
print(dic1.keys())dic_key = dic1.keys()
print(list(dic_key)) # 通过list()把键以列表的形式输出# values():返回字典中所有的值
print(dic1.values())
dic_value = dic1.keys()
print(list(dic_value)) # 通过list()把键以列表的形式输出# items:返回字典中所有的键值对,每一个键值对都会打包成元组(key,value)
print(dic1.items())
dic_item = dic1.items()
print(list(dic_item))
运行结果:
stylus
C:\software\python\python.exe D:/myworkspace/test/test/test.py
张三
这是不存在的键值对:None
dict_keys(['name', 'age', 'gender'])
['name', 'age', 'gender']
dict_values(['张三', 18, '男'])
['name', 'age', 'gender']
dict_items([('name', '张三'), ('age', 18), ('gender', '男')])
[('name', '张三'), ('age', 18), ('gender', '男')]Process finished with exit code 0
三、集合set
1.定义
集合是由不重复元素组成的无序的集,常用来消除重复元素
注意:要创建一个空集合只能用set(),不能用用{},因为后者创建的是一个空字典
2.集合的常用方法
集合的方法比较简单,常用增加元素add,删除元素pop()、remove()
routeros
set1 = {1, 'python', 'a', 2, 'a', 3, 4, 'python', 5, 6}
print(set1) # 去掉重复的元素li = [79, 1, 89, 3, 90, 5, 89, 321, 66, 7]
li = list(set(li)) # 利用set()转换成集合去重
print(li)dic = {} # 表示空字典, 空集合用set()
set1 = set()
print(type(dic), type(set1)) # type()是python内置函数,用于查看数据类型set1.add(1)
set1.add(2)
print(set1)
set1.pop()
print(set1)
set1.remove(2)
print(set1)
运行结果:
awk
C:\software\python\python.exe D:/myworkspace/test/test/test.py
{1, 2, 3, 4, 5, 6, 'python', 'a'}
[1, 321, 3, 66, 5, 7, 79, 89, 90]
<class 'dict'> <class 'set'>
{1, 2}
{2}
set()Process finished with exit code 0
一、散列类型
二、字典dict
1.定义
2.字典的常用方法
1)增
2)删
3)改
4)查
三、集合set
1.定义
2.集合的常用方法
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!