• python基础语法:复合数据类型


    List列表

    列表的创建

    创建列表:变量名 = [元素1,元素2,…,元素n]

    list类型中区分元素的顺序,且允许包含重复的元素。

    基本操作

    索引

    列表每一个元素都对应一个整数型的索引值,可以通过索引值来得到相应的元素值。同时支持列表元素的正向索引和反向索引。正向索引即索引值为正,从0开始;反向索引即索引值为负,从-1开始。若是反向索引,则-1为末尾元素对应的索引编号。

    切片

    切片操作可以截取列表变量中的部分元素,并返回一个子列表变量。切片操作中,生成子列表的元素包含起始索引对应的元素,但是不包含终止索引对应的元素。

    加法和乘法

    1.加法操作使用加号(+)完成,表示把加号两端的列表变量连接形成一个新列表;

    2.乘法操作使用星号(*)完成,表示对当前列表对象进行复制并连接,并形成一个新列表。

    修改和删除

    1.通过索引值对相应元素进行修改或删除。

    2.删除整个列表或列表中的部分元素,使用del命令。删除整个列表后,不可再次引用。

    追加插入和扩展

    1.append:在当前列表对象尾部追加元素;

    2.insert:在当前列表的指定索引位置插入元素;

    3.extend:对当前列表元素进行批量增加。

    多维列表

    创建三个列表类型的变量a、n和x。其中,变量a和n中元素都是基本类型,变量x中的元素都是列表类型。

    1. >>> a = ['a',1]
    2. >>> n = ['b',2]
    3. >>> x = [a,n]
    4. >>> x
    5. [['a',1],['b',2]]
    6. >>> x[0] # 显示第一个元素
    7. ['a', 1]
    8. >>> x[0][1] # 显示第一个元素中的第二个元素
    9. 1

    1.直接输入列表的数据,系统会根据输入生成相应的列表维度。

    1. >>>l = [[1,2,3],[4,5,6]]
    2. >>>print(l)
    3. 输出结果:
    4. [
    5. [1,2,3],
    6. [4,5,6]
    7. ]

    2.使用列表解析方式生成了二维矩阵

    1. cols = 7
    2. rows = 9
    3. list_2d = [[col + 1 for col in range(cols)] for row in range(rows)]
    4. print(list_2d)

    迭代器

    首先创建了一个列表类型变量lst,然后创建了该列表的迭代器对象lstiter,并且通过该迭代器对象的__next__()方法遍历列表中的元素。__next__()方法,返回下一个值。iter方法访问列表。

    列表解析

    1. >>>list=[1,2,3,4,5,6,7,8,9,10] #方法1:直接指定
    2. >>>list=[]#方法2:先创建一个空列表,然后通过for循环实现
    3. for n in range(1,11):
    4. list.append(n);
    5. >>>list(range(1,11)) #方法3:列表解析
    6. [1,2,3,4,5,6,7,8,9,10]

    for循环在这里可以很好的生成list。

    第一步:针对数值运算,使用列表解析生成了1到10的平方值;第二步:针对字符运算,使用列表解析生成了指定范围的字母组合列表。

    1. >>> [x * x for x in range(1, 11)]
    2. [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    3. # 或者字母所进行的两层循环
    4. >>> [m + n for m in 'ABC' for n in 'XYZ']
    5. ['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']

    列表函数和方法

    列表函数
    函数含义
    len(list)列表元素个数
    max(list)返回列表元素最大值
    min(list)返回列表元素最小值
    list(seq)将元组转换为列表
    列表方法
    方法描述
    list.append(obj)在列表末尾添加新的对象
    list.count(obj)统计某个元素在列表中出现的次数
    list.extend(seq)在列表末尾一次性追加另一个序列中多个值(用新列表扩展原来的列表)
    list.index(obj)从列表中找出某个值第一个匹配项的索引位置
    list.pop(obj=list[-1])将对象插入列表
    list.insert(index,obj)移除列表中的第一个元素(默认最后一个元素),并且返回该元素的值
    list.remove(obj)移除列表中某个值的第一个匹配项
    list.reserve()反向列表中的元素
    list.sort([func])对原列表进行排序
    list.clear()清空列表
    list.copy()复制列表
  • 相关阅读:
    前进永无止境!Pipeline更新又双叒叕来了!
    什么原因导致百度百科建立一直审核不通过?
    mybatis源码探索之代理封装阶段
    PostgreSQL-高级数据类型
    systemverilog学习 ---- event
    GET 和 POST请求的区别是什么
    typescript在vue3中的使用。
    【算法与数据结构】39、LeetCode组合总和
    电力能源指挥中心调度台解决方案主要关注的问题
    大数据算法系列4:二叉树,红黑树和B树
  • 原文地址:https://blog.csdn.net/zmcxyyds/article/details/126265984