当前位置 主页 > 网站技术 > 代码类 >

    Python列表list操作相关知识小结

    栏目:代码类 时间:2020-01-30 06:08

    当然,温习的同时也要发散思考,因为有些看似无关紧要的、约定俗成的语言习惯,例如数组索引为何从0开始,其背后可能大有来历。知其然,亦需知其所以然啊喵喵喵~~~

    最后,在基础知识之上,更要探索进阶,例如学习生成器表达式,这样既能更扎实地掌握基础,又能融会贯通,获得更全面的认知升级。

    Python的列表是怎样滴?

    列表(list)是一种有序的集合,可以随时添加、查找和删除元素。

    列表支持加入不同数据类型的元素:数字、字符串、列表、元组等。

    列表通过有序的索引可遍历所有的元素,从前往后数,索引是[0,n-1],从后往前数,索引是[-1, -n],其中n是列表的长度。

    列表可以是不含元素的空列表,也可以包含超级多的元素(在内存大小支持的情况下)。

    list_a = []  # 空列表,即len(list_a) == 0
    list_b = [2018, 10, '2018-10-1', ['hi', 1, 2], (33, 44)]
    
    # list_b 长度为5,包含2个数字元素、1个字符串元素、1个列表元素和1个元组元素
    len(list_b) == 5
    list_b[0] == list_b[-5] == 2018
    lits_b[3] == list_b[-2] == ['hi', 1, 2] 
    lits_b[4] == list_b[-1] == (33, 44)

    Python中怎么操作列表?

    1)创建列表:

    用中括号[]包裹元素,元素使用逗号分隔。

    用list()方法,转化生成列表。

    列表生成式/列表解析式/列表推导式,生成列表。

    list_a = [1, 2, 3]
    list_b = list("abc") # list_b == ['a', 'b', 'c']
    list_c = list((4, 5, 6)) # list_c == [4, 5, 6]
    list_d = [i for i in list_a] # list_d == [1, 2, 3]
    list_e = [i*j for i in list_a for j in list_c] # list_e == [4,5,6,10,12,12,15,18]
    list_f = [i*j for i,j in zip(list_a,list_c)] # list_f == [4, 10, 18]
    list_g = [i for i in list_a if i%2 == 0] # list_g == [2]
    
    # 结合range()函数,range(start, stop[, step])
    list_h = list(range(3)) # list_h == [0, 1, 2]
    list_i = list(range(3,7)) # list_i == [3, 4, 5, 6]
    list_j = list(range(3,9,2)) # list_j == [3, 5, 7]
    
    # 找出100以内的能够被3整除的正整数
    list_k = list(range(3,100,3)) # list_k == [3, 6, 9, ..., 96, 99]

    2)扩充列表:

    用append()方法,在列表尾部添加单个新元素。

    用insert()方法,在列表中指定位置添加元素。

    用 “+” 运算符,将两个列表拼接出一个新列表。

    用extend()方法,在一个列表后面拼接进另一个列表。

    # 以下分别添加2个元素
    list_a = []
    list_a.append('happy') # list_a == ['happy']
    list_a.insert(0, 'very') # list_a == ['very', 'happy']
    
    # 以下两种扩充列表方式
    list_1 = ['I', 'am']
    list_2 = ['very', 'happy']
    list_3 = list_1 + list_2 # 新列表 list_3 == ['I', 'am', 'very', 'happy']
    list_1.extend(list_2) # 原列表1扩充,list_1 == ['I', 'am', 'very', 'happy']

    3)删减列表与销毁列表:

    用del list[m] 语句,删除指定索引m处的元素。

    用remove()方法,删除指定值的元素(第一个匹配项)。

    用pop()方法,取出并删除列表末尾的单个元素。

    用pop(m)方法,取出并删除索引值为m的元素。

    用clear()方法,清空列表的元素。(杯子还在,水倒空了)

    用del list 语句,销毁整个列表。(杯子和水都没有了)

    # 以下4种删除列表元素方式
    list_1 = list_2 = list_3 = list_4 = ['I', 'am', 'very', 'happy']
    del list_1[0] # list_1 == ['am', 'very', 'happy']
    list_2.remove('I') # list_2 == ['am', 'very', 'happy']
    list_3.pop() # list_3 == ['I', 'am', 'very']
    list_4.pop(0) # list_4 == ['am', 'very', 'happy']
    
    # 清空与销毁
    list_a = [1, 2, 3]
    list_b = [1, 2, 3]
    list_b.clear()  # list_b == []
    del list_a  # 没有list_a了,再使用则会报错