Python学习笔记——存储容器

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

列表

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

list1 = ['Google', 'Runoob', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
  • 通常情况下我们使用方括号包裹多个元素,组成列表
列表的相关方法
    list1 = [1, 2, 3, 4, 5, 6, 7, 8]
    # 第一个冒号 : 表示切片操作的开始。
    # 第二个冒号 : 表示切片操作的结束。
    # 3是步长(stride),表示每隔3个元素选择一次。
    print(list1[0:8:3])
    # 寻找元素的下标
    print(list1.index(2))
    # 寻找元素出现的次数
    print(list1.count(2))
    # 翻转数组
    print(list1.reverse())
    # 排序数组
    print(list1.sort())
    # 移除最后一个元素
    print(list1.pop())
    # 移除特定位置元素
    print(list1.pop(0))
    # 移除列表中以值指定元素的索引,默认移除首个元素
    print(list1.remove(3))
    # 添加元素
    list1.append(9)
    # 插入元素
    list1.insert(0, 0)
    # 删除某个元素
    del list1[0]

    print(list1)
    # 删除列表
    list1.clear()
  • 以上为列表常用方法,此处可以用于回顾翻阅
  • 其中pop和append方法类似于JS中pop和unshift方法
  • remove方法更类似于JS中的splice方法,但通常情况下remove的参数值时一个元素值而非下标
元组

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

>>> tup1 = ('Google', 'Runoob', 1997, 2000)
>>> tup2 = (1, 2, 3, 4, 5 )
>>> tup3 = "a", "b", "c", "d"   #  不需要括号也可以
>>> type(tup3)
  • 元组常用于一些数据集合,而这些数据集合又不可被更改
元组的相关方法
    tuple1 = (1, 2, 3, 4, 5)
    tuple2 = (1, 2, 3, 4, 5)
    tuple3 = tuple1 + tuple2
    # 长度
    print(len(tuple3))
    # 最大值
    print(max(tuple3))
    # 最小值
    print(min(tuple3))
    # 寻找元素出现次数
    print(tuple3.count(1))
    # 寻找第一个元素所在位置
    print(tuple3.index(1))

    list1 = [1, True, [1, 2]]
    # 可迭代类型转化为元组类型
    tuple4 = tuple(list1)
    print(type(tuple4), tuple4)
  • 由于元组的不可修改性,其不包含元素的修改和排序等内置方法
  • 虽然元组内元素不可修改,但其自身可以通过del关键字删除
  • 同样的,查询元素与列表类似
字典

字典类似JS中的对象:

Python学习笔记——存储容器_第1张图片

Python学习笔记——存储容器_第2张图片

  • 字典由键值对组成,与JS不同的是键必须使用引号包裹
字典的相关方法
# 使用内建函数初始化字典类型
    dict1 = dict()
    print(type(dict1), dict1)
    # 字典更新
    dict1['name'] = 'Pole'
    # 访问字典
    print(dict1['name'])
    # 删除字典元素
    del dict1['name']
    print(dict1)
    # 新增元素
    dict1['name'] = 'pole'

    # 浅拷贝
    dict2 = dict1.copy()
    print(type(dict2), dict2)

    # 生成新的字典类型,第一个参数是可迭代类型,一般是一个键列表,第二个参数是值
    dict3 = dict1.fromkeys(dict1, 'Pole')
    print(dict3)

    # 获取某个键的值
    print(dict1.get('name'))

    # 查询对应键是否在字典中
    print('name' in dict1)

    # 返回所有键,默认返回视图对象
    print(dict1.keys())

    # 返回字典,默认返回视图对象
    print(dict1.items())

    # 返回字典值,默认返回视图对象
    print(list(dict1.values())[0])

    # 从其他字典中加入现有字典
    newDict = {'age': 19}
    newTuple = [('isMarried', True), ('isMale', False)]
    dict1.update(newDict)
    dict1.update(newTuple)
    print(dict1)

    # 删除对应键值对,并返回
    dict1.pop('isMale')
    print(dict1)

    # 删除对应键值对,并返回
    kvTuple1 = dict1.popitem()
    print(kvTuple1)
    print(dict1)
  • 字典的方法众多,其中对对象的键和值操作较为常用
  • update方法常用于对字典的扩充
  • 需要注意的是keys、values、items都返回视图对象
集合
parame = {value01,value02,...}
或者
set(value)

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

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

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

    # 一个简单的应用,在一串字符串中剔除特定字符,并获取特异字符
    set2 = {x for x in 'sdhnfkjabjfbasdkjhf' if x not in 'abcd'}
    print(set2)
集合的常用方法
    # 添加元素
    set1.add(6)
    print(set1)

    # 添加多个元素
    set1.update((1, 7, 8))
    print(set1)

    # 删除元素,元素不存在,则会发生错误
    set1.remove(1)
    print(set1)

    # 删除多个元素,元素不存在,不会错误
    set1.discard(1)
    print(set1)

    # 删除任意元素
    print(set1.pop())
    print(set1)

    # 计算个数
    print(len(set1))

    set2 = {1, 2, 3, 1, 2, 3, 5}

    # 差集
    print(set1.difference(set2))

    # 交集
    print(set1.intersection(set2))

    # 并集
    print(set1.union(set2))

    # 对称差
    print(set1.symmetric_difference(set2))

    # 对称差合并
    set1.symmetric_difference_update(set2)
    print(set1)
  • 上面包含了大部分常用方法,更多方法可查阅官方文档
  • 集合更多用于多个集合的处理比较中

更多方法可见:

Python学习笔记——存储容器_第3张图片

Python学习笔记——存储容器_第4张图片 

你可能感兴趣的:(Python学习笔记,python,学习,笔记)