8

什么是List

Hello,小白同胞们,我回来啦,前面的学习中,我们已经知道了两种python的数据类型:int和str,今天将要给大家接着介绍Python中一种非常常见,非常有用的数据类型,那就是List(列表),在Python中用中括号表示[]

那这个List到底是什么东西呢,其实说白了就是一组有序的数据集合,怎么理解呢,最直观的理解就是像个盒子,我们可以把整数啊,字符串啊,还有其他很多类型的数据统统放在里面,但是要注意,它是有顺序的。

举个栗子

让我们举个栗子,上篇笔记我们学习了变量,先复习一下:

a = 1
b = 'xiaobai'
c = 23.67
d = Ture

这里我声明了4个变量a,b,c,d 分别给它们赋值为整数,字符串,浮点数,布尔型,然后我可以把它们直接装入一个List中:

lst = [a,b,c,d]
print(lst)     #  输出 [1,'xiaobai',23.67,True]

很简单吧,这样我们就新建了一个List,然后把新建的列表赋给变量lst,注意这里是有顺序的,因为我是依次将a,b,c,d放入其中

创建一个List

看过了上面的栗子,让我们直接创建几个列表吧:

first_list = []                                            #新建一个空List, 因为里面什么都没有
second_list = [1,2,3,4,'love']                                # 各种类型的数据都可以往里扔
third_list = [ True,False,12.333,'My name is xiao bai']       # 同上

让我们查看一下刚刚创建好的三个列表:

print(first_list )
[]

print(second_list)
[1, 2, 3, 4, 'love']

print(third_list)
[True, False, 12.333, 'My name is xiao bai']

其实除了这些,列表的创建方式还有很多,可以利用list()通过转化其他数据结构而来,也可以创建多个列表在一个列表中实现嵌套等等,之后我会在讲完Python基础起步之后专门开一个Python小白进价的专栏,会详细讲到List的使用技巧,但是目前,知道这些足够啦

List基础方法,添加值,修改,删除值

让我们从添加值到列表开始,首先让我们新建一个空列表:

    lst = []                          # 新建一个空列表
    print("Intial empty List: ",lst) 
Out:[]

利用列表自带的append方法可以直接依次为空列表添加值:

    lst.append(1)
    lst.append('paris')
    lst.append(True)
    print(lst)
Out:[1,'paris',True]

这样我们就依次把1,'paris',True 三个值加进列表lst里面了,那如果我们要是想查看列表中的一个值应该怎么办呢,见下图:

clipboard.png

就像我刚才特意强调的,列表是有顺序的,表示索引的东西叫做Index,它是从0开始的,所以如果拿我们的例子来说,1 对应的索引为0,'paris'对应的索引为1,True 对应的索引为2,要查看列表中的一个值可以直接用这种新式:List[Index],比如:

lst[0]     #    1
lst[1]     #    'paris'
lst[2]     #   True
lst[:]     #  [1, 'paris', True]
lst[0:2]   # [1, 'paris']
lst[-1]    # True

如果索引是单独的一个数字,会直接输入对应的值,但是索引还可以用切片的形式表示:

List[起始Index :结束Index]

这里要注意一点,它不包括最后结束的Index,所以当我使用lst[0:2]查看时,它只输出对应索引为0和1的值。
好啦,那如果我现在想要改变List中一个值也很简单,因为我们了解了索引,便能很方便的定位元素啦,如果我要修改1和Ture的值为 'My','Life' :

    lst[0]='My'
    lst[2]='Life'
    print(lst)
Out: ['My', 'paris', 'Life']

如果是删除的话可以用List的自带函数叫remove() 或者pop()

    lst.remove("My")
    print(lst)
Out:['paris', 'Life']
    

Remove 注意两点:

  • 如果正确删除,不会有任何反馈。没有消息就是好消息
  • 如果所删除的内容不在list中,就报错。注意阅读报错信息:x not in list

如果是pop呢?

    lst.pop()
Out: 'Life'
    print(lst)
Out: ['paris']
   

pop(index)如果括号里没有任何东西,会默认删除List里面最后一个值,如果pop(2)的话会删除List里面索引为2的值,而且这个方法很有意思,它会自动返回被删除的值,用人话说就是,你删除List里面一个值,还得到了它。。。

List总结

  • 列表可以是无限大,包含任意类型的元素
  • 列表中有很多强大的自带方法,比如len(List)可以获得一个列表的长度,还有sort(),filter(),reduce(),map()等等,大家可以自己谷歌一下查查
  • 相对来说,列表在性能上普遍不佳,因为有序,所以带索引,拖慢了一定速度,尤其是一个特别大的列表在运行查询相关的操作的时候,我们之后会讲

完结,撒花~


alpha94511
549 声望995 粉丝

Python爱好者, 前端开发厌恶者