• 全栈自动化测试之python的基本数据类型/散列类型


    文章末尾给大家留下了大量福利

    前言

    大家都知道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():将一个字典的所有元素更新到另一个字典中 (简单来说,就是添加多个元素)
    1. # 字典 {key:value, key:value} 键/值对形式
    2. # key是唯一的,是不可变类型数据
    3. dic1 = {'name':'张三','age':18,'gender':'男'}
    4. dic2 = {'a':11,'b':22}
    5. dic1['city'] = '广州' # 新增键值对
    6. print(dic1)
    7. dic1['city'] = '上海' # 根据key修改值
    8. print(dic1)
    9. # updata():添加多个键值对(将一个字典更新到一个字典中)
    10. dic1.update(dic2)
    11. print(dic1)
    12. dic2.update({'c': 33, 'd': 44})
    13. print(dic2)

    2)删

    • pop():参数为字典的键(key)
    • popitem() :删除最后添加的键值对
    • clear():清空字典中的所有键值对
    • 关腱字del:del dic[key]
    1. dic1 = {'name':'张三','age':18,'gender':'男','city':'广州'}
    2. # pop():删除,需要传入一个键(key)
    3. dic1.pop('gender')
    4. print(dic1)
    5. # popitem():不需要传参,删除字典中最后添加进来的一个键值对
    6. dic1.popitem()
    7. print(dic1)
    8. # 关键字del
    9. del dic1['age']
    10. print(dic1)
    11. # clear():清除字典中的所有键值对
    12. dic1.clear()
    13. print(dic1)

    运行结果:

    1. C:\software\python\python.exe D:/myworkspace/test/test/test.py
    2. {'name': '张三', 'age': 18, 'city': '广州'}
    3. {'name': '张三', 'age': 18}
    4. {'name': '张三'}
    5. {}
    6. Process finished with exit code 0

    3)改

    dic[key]=value 通过键去修改值,在第一点中已经举出例子

    4)查

    • get():获取键对应的值,但key不存在时不会报惜,会打印None
    • keys():获取所有的键,可以用list将结果转成列表
    • values():获取所有的值,可以用list将结果转换成列表
    • itmes(): 获取所有的键值对,可以用list将结果转换成列表,列表中每个键值对组成一个元组
    1. dic1 = {'name':'张三','age':18,'gender':'男'}
    2. # get():获取键对应的值
    3. print(dic1.get('name'))
    4. print('这是不存在的键值对:{}'.format(dic1.get('city')))
    5. # keys():返回字典中所有的键
    6. print(dic1.keys())
    7. dic_key = dic1.keys()
    8. print(list(dic_key)) # 通过list()把键以列表的形式输出
    9. # values():返回字典中所有的值
    10. print(dic1.values())
    11. dic_value = dic1.keys()
    12. print(list(dic_value)) # 通过list()把键以列表的形式输出
    13. # items:返回字典中所有的键值对,每一个键值对都会打包成元组(key,value)
    14. print(dic1.items())
    15. dic_item = dic1.items()
    16. print(list(dic_item))

    运行结果:

    1. C:\software\python\python.exe D:/myworkspace/test/test/test.py
    2. 张三
    3. 这是不存在的键值对:None
    4. dict_keys(['name', 'age', 'gender'])
    5. ['name', 'age', 'gender']
    6. dict_values(['张三', 18, '男'])
    7. ['name', 'age', 'gender']
    8. dict_items([('name', '张三'), ('age', 18), ('gender', '男')])
    9. [('name', '张三'), ('age', 18), ('gender', '男')]
    10. Process finished with exit code 0

    三、集合set

    1.定义

    集合是由不重复元素组成的无序的集,常用来消除重复元素

    注意:要创建一个空集合只能用set(),不能用用{},因为后者创建的是一个空字典

    2.集合的常用方法

    集合的方法比较简单,常用增加元素add,删除元素pop()、remove()

    1. set1 = {1, 'python', 'a', 2, 'a', 3, 4, 'python', 5, 6}
    2. print(set1) # 去掉重复的元素
    3. li = [79, 1, 89, 3, 90, 5, 89, 321, 66, 7]
    4. li = list(set(li)) # 利用set()转换成集合去重
    5. print(li)
    6. dic = {} # 表示空字典, 空集合用set()
    7. set1 = set()
    8. print(type(dic), type(set1)) # type()是python内置函数,用于查看数据类型
    9. set1.add(1)
    10. set1.add(2)
    11. print(set1)
    12. set1.pop()
    13. print(set1)
    14. set1.remove(2)
    15. print(set1)

    运行结果:

    1. C:\software\python\python.exe D:/myworkspace/test/test/test.py
    2. {1, 2, 3, 4, 5, 6, 'python', 'a'}
    3. [1, 321, 3, 66, 5, 7, 79, 89, 90]
    4. <class 'dict'> <class 'set'>
    5. {1, 2}
    6. {2}
    7. set()
    8. Process finished with exit code 0

    总结

    今天的文章就到这里了哟,需要获得下面福利的小伙伴可以私信我关键字“资料”获取哟。

    喜欢的小伙伴不要忘记点赞收藏评论加关注哟。

    项目实战

    app项目,银行项目,医药项目,电商,金融

    ​大型电商项目

    全套软件测试自动化测试教学视频

    300G教程资料下载【视频教程+PPT+项目源码】

    全套软件测试自动化测试大厂面经

    ​python自动化测试++全套模板+性能测试

  • 相关阅读:
    并发编程-线程池ForkJoinPool(二)
    Linux 常用命令
    离开大促的电商生意,应该怎么玩?
    LevelSequence源码分析
    Mac Vue 项目上传到阿里云服务器及 nginx
    [Excel知识技能] Excel数据类型
    数学建模-插值算法、拟合算法
    Jmeter接口自动化和Python接口自动化,如何选择?
    【Elasticsearch】基础概念(一)
    Spring boot再来一遍
  • 原文地址:https://blog.csdn.net/qishuzdh/article/details/126275280