Python列表,,列表的格式names


列表的格式

namesList = [‘a‘,‘b‘,‘c‘]

比C语言的数组强大的地方在于列表中的元素可以是不同类型的

 testList = [1, ‘a‘]

可以对列表用切片

列表的循环遍历

使用for循环

为了更有效率的输出列表的每个数据,可以使用循环来完成

    namesList = [‘xiaoWang‘,‘xiaoZhang‘,‘xiaoHua‘]    for name in namesList:        print(name)

使用while循环

为了更有效率的输出列表的每个数据,可以使用循环来完成

    namesList = [‘xiaoWang‘,‘xiaoZhang‘,‘xiaoHua‘]    length = len(namesList)    i = 0    while i<length:        print(namesList[i])        i+=1

列表的相关操作

列表中存放的数据是可以进行修改的,比如"增"、"删"、"改""

"增"append, extend, insert

append

通过append可以向列表末尾追加元素

extend

通过extend可以将另一个序列中的元素逐一添加到列表中,也可理解为扩展,其原理就是for循环遍历与append结合。

技术分享图片
+=本质会调用MutableSequence类下的魔法函数__iadd__方法,该方法有调用了extend方法。rom collections import abc  # ctrl+鼠标左键点abc......from _collections_abc import *from _collections_abc import __all__  # ctrl+鼠标左键点__all__......__all__ = ["Awaitable", "Coroutine",           "AsyncIterable", "AsyncIterator", "AsyncGenerator",           "Hashable", "Iterable", "Iterator", "Generator", "Reversible",           "Sized", "Container", "Callable", "Collection",           "Set", "MutableSet",           "Mapping", "MutableMapping",           "MappingView", "KeysView", "ItemsView", "ValuesView",           "Sequence", "MutableSequence",           "ByteString",           ]  # ctrl+鼠标左键点MutableSequence......    def __iadd__(self, values):  #实际上+=就会调用这个魔法函数        self.extend(values)        return self......    def extend(self, values):        ‘S.extend(iterable) -- extend sequence by appending elements from the iterable‘        for v in values:            self.append(v)
扩展知识,+=的本质,此处不懂可以跳过
>>> a = [1, 2]>>> b = [3, 4]>>> a.append(b)>>> a[1, 2, [3, 4]]>>> a.extend(b)>>> a[1, 2, [3, 4], 3, 4]

insert

insert(index, object) 在指定位置index前插入元素object

>>> a = [0, 1, 2]>>> a.insert(1, 3)>>> a[0, 3, 1, 2]

"改"

修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改

    #定义变量A,默认有3个元素    A = [‘xiaoWang‘,‘xiaoZhang‘,‘xiaoHua‘]    print("-----修改之前,列表A的数据-----")    for tempName in A:        print(tempName)    #修改元素    A[1] = ‘xiaoLu‘    print("-----修改之后,列表A的数据-----")    for tempName in A:        print(tempName)结果:    -----修改之前,列表A的数据-----    xiaoWang    xiaoZhang    xiaoHua    -----修改之后,列表A的数据-----    xiaoWang    xiaoLu    xiaoHua

"查"in, not in, index, count

所谓的查找,就是看看指定的元素是否存在

in, not in

python中查找的常用方法为:

in(存在),如果存在那么结果为true,否则为falsenot in(不存在),如果不存在那么结果为true,否则false

index, count

index和count与字符串中的用法相同

>>> a = [‘a‘, ‘b‘, ‘c‘, ‘a‘, ‘b‘]>>> a.index(‘a‘, 1, 3) # 注意是左闭右开区间Traceback (most recent call last):  File "<stdin>", line 1, in <module>ValueError: ‘a‘ is not in list>>> a.index(‘a‘, 1, 4)3>>> a.count(‘b‘)2>>> a.count(‘d‘)0

"删"del, pop, remove

列表元素的常用删除方法有:

del:根据下标进行删除pop:删除最后一个元素remove:根据元素的值进行删除

排序sort, reverse

sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。

reverse方法是将list逆置。

>>> a = [1, 4, 2, 3]>>> a[1, 4, 2, 3]>>> a.reverse()>>> a[3, 2, 4, 1]>>> a.sort()>>> a[1, 2, 3, 4]>>> a.sort(reverse=True)>>> a[4, 3, 2, 1]

实例:http://www.cnblogs.com/0bug/p/8671934.html

列表嵌套

一个列表中的元素又是一个列表,那么这就是列表的嵌套

>>> alist = [1,[2,3],4]>>> alist[1][1]3

  

Python列表

评论关闭