美文网首页
关于列表的解答

关于列表的解答

作者: 为什么被使用啊啊啊 | 来源:发表于2018-07-30 22:30 被阅读0次

    列表是python以及其他语言中最常用到的数据结构之一。Python中使用[]来创建列表

    列表中的每项是可以改变的,这一点区别于元组

    列表的创建,遍历及增删改查

    #创建

    names = ["mike", 'jud', 'huihui', 'wang', 'tian', 'kaggle']

    #遍历

    for name in names:

        print(name)

    #查 切片查

    print(names[2])        #打印第三个名字

    print(names[0 : 3])    #切片处理, 打印前三个

    print(names[0 : 10])    #当切片长度大于列表长度,就按照列表长度切片

    print(names[-1])        #输出列表最后一个,当数字为负数时,输出倒数第n个

    print(names[2 : 3])    #左闭右开

    print(names[0 : 5 : 1]) #切片操作[start : end : size]切取[start-end)区间的子序列,start默认值为0 size != 0

    print(names[5 : 0 : -3])#和上一个一样

    print(names[::-1])      #相当于反转

    print(names[:])        #相当于0-最大长度

    增(append, insert)

    names.append('alex')

    names.insert(5, 'alvin')

    print(names)

    改(重新赋值)

    names = ['章叁', '李四', '王五', '赵六']

    names[2] = "孙三"

    names[0 : 2] = ["liu", 'wang']

    print(names)

    names = ['章叁', '李四', '王五', '赵六']

    删(remove, del, pop(返回值))

    names.remove("章叁")

    print(names)

    del names[0]

    print(names)

    del names          #names变量在内存中被析构

    names = ['章叁', '李四', '王五', '赵六']

    names.pop()

    print(names)

    其他操作 count

    lists = ['to', 'be', 'or', 'not', 'to', 'be']

    print(lists.count('to'))                        #查询某个元素在列表中出现的次数

    extend 该方法可以在列表的末尾一次性追加另一个序列中的多个值

    lista = [1, 2, 3]

    listb = [4, 5, 6]

    lista.extend(listb)

    print(lista)

    #index 该方法用于返回元素在列表中的位置

    print(lista.index(3))

    #reverse

    lista.reverse()

    print(lista)

    listc = [5, 2, 4, 12, 9, 0]

    listc.sort()

    print(listc)

    #深浅拷贝

    names = ['章叁', '李四', '王五', '赵六']

    names_copy = ['章叁', '李四', '王五', '赵六']

    print(id(names))        #2438619076232

    print(id(names_copy))  #2438618956936

    for name, name_copy in zip(names, names_copy):

        print(id(name), id(name_copy))

    #输出:

    #2438618789208 2438618789208

    #2438618789296 2438618789296

    #2438618789384 2438618789384

    #2438618789472 2438618789472

    #由此可以看出names_copy的元素的地址和names的元素地址相同,是浅拷贝

    print("------------------------")

    names_copy[0] = "图像"

    for name, name_copy in zip(names, names_copy):

        print(id(name), id(name_copy))

    #在执行names_copy[0] = "图像"就会把原本指向'章叁'的地址的指针,指向'图像'所在的地址

    b, d, e, *c = ['1', '2', 3, 4, 5]      #将列表中的元素赋值给等号左边变量,当左边的变量不能完全接受列表元素,会存在c列表中

    print(type(b), type(d), type(c))

    print(b, d, e, c)

    相关文章

      网友评论

          本文标题:关于列表的解答

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