美文网首页
Python基础知识之列表

Python基础知识之列表

作者: 拾实 | 来源:发表于2019-07-15 22:51 被阅读0次

    何为列表

    可以理解为一种存放元素的容器(类比其他语言的数组)。

    列表中的元素不受类型的限制,不同类型的数据都可以扔进同一个列表:

    list1 = ['emt', 1568, True, "哈哈哈"]
    

    一个空列表:

    list2 = []
    

    列表中可以包含其他列表:

    list3 = ["start", [1, 2, 3], ["a", "b"]]
    

    访问列表元素

    使用数字索引

    第一个元素的索引为0,而不不是1。

    list_a = ["我是第一个元素", 666, "end"]
    print(list_a[0])
    print(list_a[1])
    
    #我是第一个元素
    #666
    

    数字索引可以为负

    负数下标-1-2分别表示倒数第一个,倒数第二个元素,以此类推。

    list_a = ["我是第一个元素", 666, "end"]
    print(list_a[-1])
    print(list_a[-2])
    
    #end
    #666
    

    对列表的一些操作

    修改元素值

    可以指定修改列表中某元素的值:

    list_b = ["test", "apple", 45678]
    list_b[2] = "change"
    print(list_b)
    
    #['test', 'apple', 'change']
    

    可以看出指定的元素值已经被修改,其他元素没有发生变化。

    添加元素

    使用append()方法在列表末尾添加新元素:

    list_c = [123, 555, 'so']
    list_c.append(456)
    print(list_c)
    
    #[123, 555, 'so', 456]
    

    使用insert()方法在指定位置插入元素:

    两个参数,依次为索引值和元素值。

    list_d = [1, 5, 7, 9]
    list_d.insert(1, 3)
    print(list_d)
    
    #[1, 3, 5, 7, 9]
    

    删除元素

    使用del语句删除

    list_e = [2, 3, 4, 6, 5]
    del list_e[3]
    print(list_e)
    
    #[2, 3, 4, 5]
    

    使用pop()方法删除

    不使用参数,默认删除列表中的最后一个元素,并返回该值。

    list_f = ["123", 123, 456, 'bbc']
    pop_ele = list_f.pop()
    print(pop_ele)
    print(list_f)
    
    #bbc
    #['123', 123, 456]
    

    在括号中指定参数,弹出指定元素。

    list_g = [2222, 33, 55, 89]
    list_g.pop(-2)
    print(list_g)
    
    #[2222, 33, 89]
    

    使用remove()方法根据值删除元素

    参数即为指定删除的元素。

    list_h = [155, 666, 4, 789, 666]
    list_h.remove(666)
    print(list_h)
    
    #[155, 4, 789, 666]
    

    若该元素在数组中出现了多次,只会删除第一次出现时的元素。

    合并列表

    使用extend()方法合并多个列表

    list_h = [155, 4, 789, 666]
    list_g = ["ss", "aa"]
    list_g.extend(list_h)
    print(list_g)
    list_g.extend(['n', 'e', 'w'])
    print(list_g)
    
    #['ss', 'aa', 155, 4, 789, 666]
    #['ss', 'aa', 155, 4, 789, 666, 'n', 'e', 'w']
    

    列表排序

    使用sort()方法对列表永久性排序

    list_i = ["x", 'am', "emmm"]
    list_i.sort()
    print(list_i)
    
    #['am', 'emmm', 'x']
    

    设置reverse=True使其倒序排序

    list_i = ["x", 'am', "emmm"]
    list_i.sort(reverse = True)
    print(list_i)
    
    #['x', 'emmm', 'am']
    

    使用函数sorted()对列表进行临时排序

    list_j = [542, 23, 67, 8]
    print(sorted(list_j))
    print(list_j)
    
    #[8, 23, 67, 542]
    #[542, 23, 67, 8]
    

    列表元素的顺序并没有发生变化,同样,该函数也可以传递参数reverse=True使之倒序排序。

    使用reverse()方法反转列表

    list_k = [999, 1, 57, 43]
    list_k.reverse()
    print(list_k)
    
    #[43, 57, 1, 999]
    

    并不是倒序排序,而是将列表以与初始态相反的顺序显示。

    使用函数len()确定列表长度

    list_k = [999, 1, 57, 43]
    print(len(list_k))
    
    #4
    

    使用copy()方法复制列表

    list_l = ['cx', 'vb', 'nm']
    list_temp = list_l.copy()
    print(list_temp)
    
    #['cx', 'vb', 'nm']
    

    使用clear()方法清空列表

    list_m = [777777777777777, 21]
    list_m.clear()
    print(list_m)
    
    #[]
    

    列表依然存在,不过为一个空列表。

    使用count()方法统计某元素出现的次数

    参数即为需统计的元素值。

    list_n = [233, 4, 233, 23, 77, 233]
    times = list_n.count(233)
    print(times)
    
    #3
    

    使用index()方法查找某元素在列表中的位置

    使用一个参数,即查找元素值,返回第一次出现位置的下标。

    list_o = ['ass', 'emm', 'flag', 'test', 'flag']
    print(list_o.index('flag'))
    
    #2
    

    可以使用第二,三个参数来指定查找范围,不在范围内的元素会被忽视。第二、三个参数指定的范围:[开始, 结束)

    list_o = ['ass', 'emm', 'flag', 'test', 'flag']
    print(list_o.index('flag', 3, 5))
    
    #4
    

    列表分片

    • list[a:b],从list[a]到list[b-1],共(b-a)个元素。

    • list[a:],从list[a]到列表最后一个元素。

    • list[:b],从元素的第一个元素开始到list[b-1]

    • list[:],列表所有元素,常用来复制列表。

    list_p = [1, 2, 3, 4, 5, 6, 7, 8]
    print(list_p[1:3])
    print(list_p[1:])
    print(list_p[:3])
    print(list_p[:])
    
    #[2, 3]
    #[2, 3, 4, 5, 6, 7, 8]
    #[1, 2, 3]
    #[1, 2, 3, 4, 5, 6, 7, 8]
    

    步长(间隔访问)

    list_p = [1, 2, 3, 4, 5, 6, 7, 8]
    print(list_p[::2])
    print(list_p[::3])
    print(list_p[::-2])
    
    #[1, 3, 5, 7]
    #[1, 4, 7]
    #[8, 6, 4, 2]
    

    如有错误,欢迎指正~

    相关文章

      网友评论

          本文标题:Python基础知识之列表

          本文链接:https://www.haomeiwen.com/subject/nlgokctx.html