• Python学习笔记——存储容器


    • 食用说明:本笔记适用于有一定编程基础的伙伴们。希望有助于各位!

    列表

    列表类似数组,其中可以包含不同类型的元素,写法如下:

    1. list1 = ['Google', 'Runoob', 1997, 2000]
    2. list2 = [1, 2, 3, 4, 5 ]
    3. list3 = ["a", "b", "c", "d"]
    4. list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
    • 通常情况下我们使用方括号包裹多个元素,组成列表
    列表的相关方法
    1. list1 = [1, 2, 3, 4, 5, 6, 7, 8]
    2. # 第一个冒号 : 表示切片操作的开始。
    3. # 第二个冒号 : 表示切片操作的结束。
    4. # 3是步长(stride),表示每隔3个元素选择一次。
    5. print(list1[0:8:3])
    6. # 寻找元素的下标
    7. print(list1.index(2))
    8. # 寻找元素出现的次数
    9. print(list1.count(2))
    10. # 翻转数组
    11. print(list1.reverse())
    12. # 排序数组
    13. print(list1.sort())
    14. # 移除最后一个元素
    15. print(list1.pop())
    16. # 移除特定位置元素
    17. print(list1.pop(0))
    18. # 移除列表中以值指定元素的索引,默认移除首个元素
    19. print(list1.remove(3))
    20. # 添加元素
    21. list1.append(9)
    22. # 插入元素
    23. list1.insert(0, 0)
    24. # 删除某个元素
    25. del list1[0]
    26. print(list1)
    27. # 删除列表
    28. list1.clear()
    • 以上为列表常用方法,此处可以用于回顾翻阅
    • 其中pop和append方法类似于JS中pop和unshift方法
    • remove方法更类似于JS中的splice方法,但通常情况下remove的参数值时一个元素值而非下标
    元组

    元组是一种只读不可修改的列表:

    1. >>> tup1 = ('Google', 'Runoob', 1997, 2000)
    2. >>> tup2 = (1, 2, 3, 4, 5 )
    3. >>> tup3 = "a", "b", "c", "d"   #  不需要括号也可以
    4. >>> type(tup3)
    5. <class 'tuple'>
    • 元组常用于一些数据集合,而这些数据集合又不可被更改
    元组的相关方法
    1. tuple1 = (1, 2, 3, 4, 5)
    2. tuple2 = (1, 2, 3, 4, 5)
    3. tuple3 = tuple1 + tuple2
    4. # 长度
    5. print(len(tuple3))
    6. # 最大值
    7. print(max(tuple3))
    8. # 最小值
    9. print(min(tuple3))
    10. # 寻找元素出现次数
    11. print(tuple3.count(1))
    12. # 寻找第一个元素所在位置
    13. print(tuple3.index(1))
    14. list1 = [1, True, [1, 2]]
    15. # 可迭代类型转化为元组类型
    16. tuple4 = tuple(list1)
    17. print(type(tuple4), tuple4)
    • 由于元组的不可修改性,其不包含元素的修改和排序等内置方法
    • 虽然元组内元素不可修改,但其自身可以通过del关键字删除
    • 同样的,查询元素与列表类似
    字典

    字典类似JS中的对象:

    • 字典由键值对组成,与JS不同的是键必须使用引号包裹
    字典的相关方法
    1. # 使用内建函数初始化字典类型
    2. dict1 = dict()
    3. print(type(dict1), dict1)
    4. # 字典更新
    5. dict1['name'] = 'Pole'
    6. # 访问字典
    7. print(dict1['name'])
    8. # 删除字典元素
    9. del dict1['name']
    10. print(dict1)
    11. # 新增元素
    12. dict1['name'] = 'pole'
    13. # 浅拷贝
    14. dict2 = dict1.copy()
    15. print(type(dict2), dict2)
    16. # 生成新的字典类型,第一个参数是可迭代类型,一般是一个键列表,第二个参数是值
    17. dict3 = dict1.fromkeys(dict1, 'Pole')
    18. print(dict3)
    19. # 获取某个键的值
    20. print(dict1.get('name'))
    21. # 查询对应键是否在字典中
    22. print('name' in dict1)
    23. # 返回所有键,默认返回视图对象
    24. print(dict1.keys())
    25. # 返回字典,默认返回视图对象
    26. print(dict1.items())
    27. # 返回字典值,默认返回视图对象
    28. print(list(dict1.values())[0])
    29. # 从其他字典中加入现有字典
    30. newDict = {'age': 19}
    31. newTuple = [('isMarried', True), ('isMale', False)]
    32. dict1.update(newDict)
    33. dict1.update(newTuple)
    34. print(dict1)
    35. # 删除对应键值对,并返回
    36. dict1.pop('isMale')
    37. print(dict1)
    38. # 删除对应键值对,并返回
    39. kvTuple1 = dict1.popitem()
    40. print(kvTuple1)
    41. print(dict1)
    • 字典的方法众多,其中对对象的键和值操作较为常用
    • update方法常用于对字典的扩充
    • 需要注意的是keys、values、items都返回视图对象
    集合
    1. parame = {value01,value02,...}
    2. 或者
    3. set(value)

    集合(set)是一个无序的不重复元素序列。

    集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作

    我们可以通过一个例子来展示其特殊的用途:

    1. # 一个简单的应用,在一串字符串中剔除特定字符,并获取特异字符
    2. set2 = {x for x in 'sdhnfkjabjfbasdkjhf' if x not in 'abcd'}
    3. print(set2)
    集合的常用方法
    1. # 添加元素
    2. set1.add(6)
    3. print(set1)
    4. # 添加多个元素
    5. set1.update((1, 7, 8))
    6. print(set1)
    7. # 删除元素,元素不存在,则会发生错误
    8. set1.remove(1)
    9. print(set1)
    10. # 删除多个元素,元素不存在,不会错误
    11. set1.discard(1)
    12. print(set1)
    13. # 删除任意元素
    14. print(set1.pop())
    15. print(set1)
    16. # 计算个数
    17. print(len(set1))
    18. set2 = {1, 2, 3, 1, 2, 3, 5}
    19. # 差集
    20. print(set1.difference(set2))
    21. # 交集
    22. print(set1.intersection(set2))
    23. # 并集
    24. print(set1.union(set2))
    25. # 对称差
    26. print(set1.symmetric_difference(set2))
    27. # 对称差合并
    28. set1.symmetric_difference_update(set2)
    29. print(set1)
    • 上面包含了大部分常用方法,更多方法可查阅官方文档
    • 集合更多用于多个集合的处理比较中

    更多方法可见:

     

  • 相关阅读:
    k8s篇之一、环境搭建
    Windows安装RabbitMQ详细教程
    [解方程]Map 2022杭电多校第6场 1009
    在推荐系统中,BPRloss、Embloss、CrossEntropyloss是怎么计算的,代表的意义是什么
    动态内存分配
    java-net-php-python-jsp员工考勤录像计算机毕业设计程序
    PHP代码审计3—系统重装漏洞
    python笔记
    Herodotus——无需bridge借助Storage proof实现的以太坊跨层数据访问
    用1100天做一款通用的管理后台框架
  • 原文地址:https://blog.csdn.net/HAC_SOUL/article/details/133904405