Python数据结构:列表

作者: 可乐的数据分析之路 | 来源:发表于2020-03-15 11:17 被阅读0次

    写在前面

    这节内容是Python基础知识中的数据结构,没看过前面内容的童鞋可以复习一下:

    从Excel的数据类型说Python

    数据结构会分4个小节的内容来写,首先来认识第一种结构——列表

    列表(list),是用方括号[]括起来的一种数据结构,元素和元素之间用逗号分隔,列表中的元素是可以进行增删查改等一系列操作的,列表通常这样表示:

    列表名 = [元素1,元素2,元素3]

    我们从建、增、删、查、改5个维度来学习列表。

    1、建

    列表中的数据没有类型的限制,可以是数值型也可以是字符型,还可以混搭。新建一个列表i_list,列表中的数据是数值型。

    In [1]:#新建一个列表       i_list = [2,5,8]       i_listOut[1]:[2,5,8]
    

    可以用type函数查看一个列表的数据类型,可以看到i_list列表的类型为list

    In [2]:type(i_list)Out[2]:list
    

    新建一个字符型的列表s_list,里面存储字符

    In [3]:s_list = ["a","b","c"]       s_listOut[3]:["a","b","c"]
    

    新建一个混搭型的列表,h_list,既有数值又有字符

    In [4]:h_list = [1,"a",2,"b"]       h_listOut[4]:[1,"a",2,"b"]
    

    2、增

    增的意思是在列表中增加元素,或在列表中增加列表。

    2.1 列表中增加元素

    append方法用来在末尾插入新元素,如对i_list列表后边追加一个值10.

    In [5]:# 末尾追加       i_list.append(10)       i_listOut[5]:[2,5,8,10]
    

    insert方法则可以在指定位置插入新元素,如在s_list列表中第2个位置插入“s”字符,需要注意的是,insert(位置,值),意思是在哪一个位置插入什么值,第一个位置是0,第二个位置是1,因此这里是(1,"s")

    In [6]:# 指定插入       s_list.insert(1,"s")       s_listOut[6]:["a","s","b","c"]
    

    2.2 列表中增加列表

    俗称列表合并,可以用”+”号操作符,如将i_list与s_list两个列表合并在一起,就是纯粹地连接在了一起。

    In [7]:i_s = i_list + s_list       i_sOut[7]:[2,5,8,10,"a","s","b","c"]
    

    也可以使用extend方法,a.extend(b),意思是把b列表合并到a列表中,效果是一样的,只不过现在i_list列表就变了,不是单纯的数值型列表了。

    In [8]:i_list.extend(s_list)       i_listOut[8]:[2,5,8,10,"a","s","b","c"]
    

    3、删

    列表中元素的删除,可以根据元素值删除,也可按索引删除。
    remove方法是根据元素删除,指定要删除的元素的值,一次只能删除一个值,如现在删除s_list列表中的“s”字符。

    In [9]:s_list.remove("s")       s_listOut[9]:["a","b","c","d"]
    

    pop方法是按照索引删除,即指定要删除字符所在的位置,如删除i_list列表中10这个值,已知10是该列表中的最后一位

    In [10]:i_list.pop(-1)        i_listOut[10]:[2,5,8]
    

    以及del函数,永久删除,效果一样,不同的是一个是python中的函数,一个是面向对象的方法。

    In [11]:del i_list[-1]        i_listOut[11]:[2,5,8]
    

    4、查

    查的意思是查找某个元素是否在列表中,以及通过索引访问该元素。

    4.1 查找某个值是否在列表中

    可以使用in操作符来查找一个值是否在列表中,返回的结果是逻辑值True/False,这个在之前数据类型中写到过的字符串查找用in的方法是一样的,如查找5是否在i_list列表中。

    In [12]:5 in i_listOut[12]:True
    

    4.2 查找列表中指定位置的值

    查找列表中指定位置的值,也就是通过索引来访问该元素。列表是有序的,每一个元素都有其特定的索引,可以使用索引和切片来查找列表中某位置的值。如获取s_list列表中第3个位置的值,得到字符“c”,再来复习一下索引,从0开始递增,那么a的位置是0,b是1,c就是2.

    In [13]:s_listOut[13]:["a","b","c","d"]In [14]:s_list[2] #获取第3位的值Out[14]:'c'
    

    取第3位及以后位置的值,就要切片了,:是指所有的值,2:是指从第3位开始,包括第三位以后所有的值。

    In [15]:s_list[2:] #获取第3位及以后的值Out[15]:['c','d']
    

    5、改

    对列表中元素的值进行修改,直接查找到位置后赋值即可,就是这么简单粗暴。如对s_list列表中的第一个值,改成大写的A。

    In [16]:s_list[0] = "A"        s_listOut[16]:["A","b","c","d"]
    

    可选地,对列表的操作还有排序、复制、计数等,可以看一下。

    6、排序

    sort方法,默认升序,降序需添加reverse = True参数。

    In [17]:#升序        s_list.sort()        s_listOut[17]:["A","b","c","d"]In [18]:#降序        s_list.sort(reverse = True)        s_list  Out[18]:["d","c","b","A"]
    

    7、复制

    copy方法复制列表,如将s_list列表复制一份,则得到它的副本,可以在它的副本基础上做修改。

    In [19]:s_list.copy()Out[19]:["d","c","b","A"]
    

    8、求列表长度

    len函数求列表长度,如求s_list列表的长度,得到4,里面有4个元素。

    In [20]:len(s_list)Out[20]:4
    

    9、计数

    计数用来统计列表中元素出现的次数,用count方法,如统计t_list列表中元素c出现的次数,结果为1,表示出现了1次。

    In [21]:s_lisr.count("c")Out[21]:1
    

    总结

    新建列表:

    • [1,2,3,4]

    • ["a","b","c","d"]

    增加元素:append(末尾) / insert(指定位置)

    增加列表:extend

    删除元素:remove(按值) / pop(按位置)

    查找元素:

    • in

    • 索引+切片

    修改元素:查找后赋值

    排序:sort

    复制:copy

    长度:len

    计数:count


    @文章属原创,转载请联系作者

    @作者:可乐,数据分析从业者

    @微信公众号:可乐的数据分析之路

    @ 可乐的数据分析交流群也已建立,加作者微信(data_cola),备注进群,拉你入群交流探讨

    image

    相关文章

      网友评论

        本文标题:Python数据结构:列表

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