python-内置数据结构、函数和文件

本文介绍了Python中的基本数据结构——元组、列表和字典。元组是不可变序列,可用于存储固定数据;列表是可变序列,支持多种操作如append和insert;字典则是一种键值对集合,键必须是不可变对象。文中通过实例详细讲解了这些数据结构的创建、修改和操作方法,并展示了如何进行元素的增删、查找和排序。
摘要由CSDN通过智能技术生成

目录

数据结构和序列

元组

列表


数据结构和序列

元组

  1. 固定长度,不可变的python对象序列
  2. 元组被创建后,各位置上的对象是无法修改的,但是元组中存储的对象其自身是可变的
  3. 可是使用+号连接元组生成更长的元组
  4. 将元组乘以整数,则会和列表一样,生成含有多份拷贝的元组

举例:

if __name__ == '__main__':
    # 元组的创建
    tup = 4, 5, 6
    print(tup)
    lst = [1, 2, 3, 4]
    tup2 = tuple(lst)  # 从list转换成tuple
    # 元组对象内部的修改
    tup3 = ("test", [1, 3, 4], "aaa")
    tup3[1].append(10)
    print(tup3)

元组拆包:

将元祖型的表达式赋值给变量,会对等号右边的值进行拆包

    # 按照tuple的长度拆包赋值
    tup4 = (1, 2, 3, 4)
    a, b, c, d = tup4
    print(a, b, c, d)

    # 获取任意长度
    a1, b1, *rest = tup4
    print(a1, b1)
    # 丢弃部分数据
    a2, b2, *_ = tup4
    print(a2, b2)

元组方法:只有一个count计算某个数值在元组中出现的次数

列表

  1. 列表的长度是可变的,内容是可以修改的
  2. 声明的方式用[]或者list函数
  3. 增加函数append和insert
    1. append直接追加到尾部
    2. insert插入到指定位置
    3. insert要比append计算代价更高,因为要内部移动元素为新元素提供空间
  4. 删除函数有pop和remove
    1. pop是将特定位置的内容移除
    2. remove会将定位到的第一个符合条件的值移除
  5. 列表的链接和联合,用+或者直接使用extend
    1. 用+号会创建一个新的列表
    2. 采用extend将会直接在列表后追加列表
  6. 排序
    1. 调用sort不会新建一个列表
  7. 切片
    1. 起始位置到结束位置

练习举例:

if __name__ == '__main__':
    a = [1, 4, 2, 6, 4, 3, 7, 2]
    a.append(10)
    a.insert(1, 90)
    # [1, 90, 4, 2, 6, 4, 3, 7, 2, 10]
    print(a)
    a.pop(2)
    a.remove(1)
    # [90, 2, 6, 4, 3, 7, 2, 10]
    print(a)

    # 连接和联合列表
    b = [3, 4]
    a = a + b
    a.extend(b)
    # [90, 2, 6, 4, 3, 7, 2, 10, 3, 4, 3, 4]
    print(a)

    # [2, 6, 4, 3]
    b = a[1:5]# 取a中第1到第5个位置

    # [90, 2, 6, 4, 3]
    c = a[:5]  # 取a中第0到第5个位置

    # [4, 3, 7, 2, 10, 3, 4, 3, 4]
    d = a[3:]  # 取a中第3到结尾,包括第三个

    # [3, 4, 3, 4] 负数表示从尾部开始索引
    e = a[-4:]

    # [2, 10, 3, 4]
    f = a[-6:-2]

    # [90, 6, 3, 2, 3, 3] 第三个参数是步长
    g = a[::2]

    # [4, 3, 4, 3, 10, 2, 7, 3, 4, 6, 2, 90] 反转列表
    h = a[::-1]

字典

  1. 是一种键值对集合的数据结构
  2. 字典的值可以是任意的python对象,但key必须是不可变的对象,比如整数,浮点数,字符串,或者元组,这里有一个术语叫做哈希化,通过hash()函数可以检查一个对象是否可以哈希化
  3. 如果想用列表作为key,可以先将list转化为元组

常用方法:

  1. 访问内容

集合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值