目录
  • 1. 序列类型定义
  • 2. 列表的基础知识
    • 2.1 列表定义
    • 2.2 列表基本操作
  • 总结

    1. 序列类型定义

    序列是具有先后关系的一组元素

    • 序列是一维元素向量,元素类型可以不同
    • 类似数学运算序列:S0,S1,…,S(n-1)
    • 元素间由序号引导,通过下表访问序列的特定元素

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    2. 列表的基础知识

    2.1 列表定义

    列表(list):是可变的序列型数据,也是一种可以存储各种数据类型的集合,用中括号([ ])表示列表的开始和结束,列表中的各元素之间使用半角逗号(,)分隔,且列表中每个元素都有一个对应的下标。

    1)列表是序列类型的一种扩展,十分常用

    • 列表是一种序列类型,创建后可以随意被修改
    • 使用[ ]或list()创建,元素间用英文逗号分隔
    • 列表中各元素类型可以不同,无限长度

     a = [] #空列表 a = [1,2,3,None,'bdshsvh',[1,2,3,5]] 

    列表中的数据可以是python支持的任意数据。

    在这里插入图片描述

    2.2 列表基本操作

    在这里插入图片描述

    append()方法:存在元素的列表尾部新增元素。

     >>> fruits = ['apple',5,'peach',2,'watermelon',12] #原有列表 >>> fruits.append('pear') #用append()方法增加新元素 >>> fruits.append(15) >>> print(fruits) ['apple', 5, 'peach', 2, 'watermelon', 12, 'pear', 15] 

    insert()方法:可以在列表的任意指定位置增加元素。insert()方法的第一个参数为需要插入元素的列表的下表,第二个参数为指定的新增元素值。

     >>> fruits.insert(0,'starfruit') >>> fruits.insert(1,14.2) >>> print(fruits) ['starfruit', 14.2, 'apple', 5, 'peach', 2, 'watermelon', 12, 'pear', 15] 

    index()方法:语法格式L.index(value,[start[,stop]]),其中L为列表对象,value代表需要在列表中查找的元素,start代表在列表中查找元素时开始查找的下标数,stop代表查找结束时的下标数,start和stop参数可选。若查找到元素,则返回第一个找到的元素,若没有找到,则返回“ValueError…”错误信息。

     >>> fruits.index("pear") 8 >>> fruits.index(1) Traceback (most recent call last): File "<pyshell#15>", line 1, in <module> fruits.index(1) ValueError: 1 is not in list >>> fruits.index(2,5,12) 5 

    in成员运算符判断

     >>> 'a' in fruits False 

    用in判断的好处是不会产生报错信息。

    用下标读取对应的元素

     >>> fruits[5] 2 >>> fruits[8] 'pear' 

    切片读取

     >>> fruits[5:] [2, 'watermelon', 12, 'pear', 15] 

    列表通过指定下标,对对应的元素进行赋值修改。

     >>> ls = ['Tom',1,5,8] >>> ls[2] = 8 >>> ls ['Tom', 1, 8, 8] >>> ls[3] = '元' >>> ls ['Tom', 1, 8, '元'] 

    clear()方法:清楚列表中的所有元素。

     >>> fruits.clear() >>> fruits [] >>> len(fruits) 0 

    pop()方法:语法格式L.pop([index]),L代表列表,index为可选参数,当指定index参数时,删除对应下标位置处的元素(如果指定的参数值不在列表下标数中,会报错)。pop()默认删除列表尾部的第一个元素。

     >>> listpop = ['球1','球2','球3'] >>> get_one = listpop.pop() >>> print(get_one,'',listpop) 球3 ['球1', '球2'] >>> listpop.pop(2) Traceback (most recent call last): File "<pyshell#29>", line 1, in <module> listpop.pop(2) IndexError: pop index out of range 

    remove()方法:L.remove(value),L代表列表,value代表要删除的元素,如果要删除的元素有多个时,只会删除左边的第一个。

     >>> listpop = ['球1','球2','球3','球2'] >>> listpop.remove('球2') >>> listpop ['球1', '球3', '球2'] >>> 

    del函数:可以删除指定的元素,也可以删除整个列表。

     >>> del(listpop[2]) >>> listpop ['球1', '球3'] >>> del(listpop) >>> listpop Traceback (most recent call last): File "<pyshell#36>", line 1, in <module> listpop NameError: name 'listpop' is not defined >>> 

    对于两个列表对象的合并,可以通过extend()方法

     >>> team1 = ["张三","李四","王五"] >>> team2 = ["Tom","John"] >>> team1.extend(team2) >>> team1 ['张三', '李四', '王五', 'Tom', 'John'] >>> 

    采用“+”也可以实现两个列表对象的合并,但是会改变team1的内存地址,表示team1合并后被重新定义了,不再是最初的team1.

     >>> team1 = ["张三","李四","王五"] >>> team2 = ["Tom","John"] >>> id(team1) 40 >>> team1.extend(team2) >>> id(team1) 40 >>> team1 = team1 + team2 >>> team1 ['张三', '李四', '王五', 'Tom', 'John'] >>> id(team1) 36 

    sort()方法:L.sort(key=None,reverse=False),L表示列表,key为可选参数,用于指定在作比较之前调用何种函数对元素进行处理,如key = str.lower(将大写字母转换为小写字母函数),reverse为可选参数,默认情况下为增序(一般根据ASCII码从小到大对字符、数字进行排序)排序。

     >>> fruits = ['banana','pear','apple','peach'] >>> fruit_1 = fruits.copy() >>> fruit_1.sort() >>> fruit_1 ['apple', 'banana', 'peach', 'pear'] >>> fruit_h = fruits.copy() >>> fruit_h.sort(reverse=True) >>> fruit_h ['pear', 'peach', 'banana', 'apple'] >>> 

     fruits = ['banana','pear','Apple','peach'] >>> fruit_s = fruits.copy() >>> fruit_s ['Apple', 'banana', 'peach', 'pear'] 

    copy()方法:对列表进行拷贝。

     >>> fruit_s = fruits.copy() >>> fruit_s ['banana', 'pear', 'Apple', 'peach'] >>> id(fruits) 92 >>> id(fruit_s) 08 

    count()方法:对列表指定元素个数进行统计。

     >>> vegetable = ['白菜','青菜','萝卜','芹菜','菠菜','白菜','花菜'] >>> vegetable.count('白菜') 2 

    reverse()方法:对列表对象永久性反向记录。

     >>> vegetable = ['白菜','青菜','萝卜','芹菜','菠菜','白菜','花菜'] >>> vegetable.reverse() >>> vegetable ['花菜', '白菜', '菠菜', '芹菜', '萝卜', '青菜', '白菜'] >>> 

    语法:

     [expression for iter_val in iterable] [expression for iter_val in iterable if cond_expr] 

    说明:expression为基于元素的运算表达式,如i2,对每一个元素求平方,iter_val为从列表iterable迭代获取的元素i,if子句判断元素,cond_expr为判断元素表达式。

     >>> nums = [i2 for i in range(11) if i>0] >>> nums [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] >>> 

    相当于:

     >>> nums =[] >>> for i in range(1,11): nums.append(i2) >>> nums [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] >>> 

    总结

    本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注本网站的更多内容!

    您可能感兴趣的文章:

    • Python编程实现蚁群算法详解
    • python二叉树常用算法总结
    • 实现用python算法计算圆周率的小诀窍
    • Python代码实现粒子群算法图文详解
    • python列表与列表算法详解(2)
    • Python 蚁群算法详解