• 初学Python—列表和元组


    一、什么是列表

    列表是一系列数据的集合

    二、列表的引用

    首先定义一个列表

    1 names=["alex","bob","alice","jim"]
    View Code

    列表引用:

    name[0]
    name[1]
    print(name[3])
    View Code

    三、列表操作

    1.查询列表元素

    ①利用下标输出列表元素

    print(names[0])       #输出列表第一个元素
    print(names[0:5])    #输出列表前五个元素(顾头不顾尾)
    print(names[-1])      #输出列表最后一个元素
    print(names[-4:-1])#输出列表倒数第四个至倒数第二个元素的值(顾头不顾尾)
    print(names[-3:0])#输出列表最后三个元素
    print(nemas[::3]) #从第一个元素开始,每三个元素输出一个(隔两个元素输出一个元素)

    ②查找元素所在位置:index方法

    print(names.index("alex")) #查找元素“alex”的下标,输出为0

    ③统计相同元素的个数:count方法

    print(names.count("alex")) #输出“alex”元素的个数

    2.增添列表元素

    有两种方法,一是append()方法,插入列表末尾;二是insert()方法,可以插入特定的位置

    names.append("luxun")     #将元素插入列表的末尾
    names.insert(2,"mayun")    #将元素插入列表下角标为2的位置

    3.修改列表元素

    names[1]="lihua" #将第二个元素修改

    4.删除列表元素

    有三种方法

    ①用“del”,此关键字不是列表特有的,可以用来删除变量、列表、字典等。

    del names[4]  #删除下标为4的元素

    ②pop()方法,根据下标删除元素

    names.pop(5) #删除下标为5的元素,如果括号空着,默认删除最后一个元素

    ③remove()方法,根据元素内容删除

    names.remove("alex")  #删除此元素

    5.合并列表

    extend()方法

    list1=[1,2,3]
    list2=[4,5,6]
    list1.extand(list2) #将list2列表合并到list1上

    此方法只会改变list1,list2并不改变

    6.列表嵌套

    names=["zhao","qian","sun",["zhang","liu","ma"],"li"]
    #取出“liu”
    print(names[3][1])

    增删改查同上

    7.列表的复制

    这里详细介绍三种

    ①copy()方法:浅copy

    先看形式

    names=["zhao","qian","sun",["zhang","liu","ma"],"li"]
    names2=names.copy()  #将names复制一份给了names2
    print(names2,names)

    输出完全一样,没问题

    继续操作:

    names[1]="QIAN"
    names[3][2]="MA"
    print(names,names2)

    看清楚了,所有的操作是对names的,names2的元素会保持不变吗?来看结果

    发现了什么?names肯定是按照我们的操作变化了,names2呢?既没有保持不变,也没有完全跟names保持同步

    而是:外层的列表元素不受影响,内层列表元素跟着改变。这就是浅copy

    ②copy.deepcopy()方法,引入copy模块:深copy

    import copy
    names=["zhao","qian","sun",["zhang","liu","ma"],"li"]
    names2=copy.deepcopy(names)  #将names深copy一份给了names2
    print(names2,names)

    同样的操作

    names[1]="QIAN"
    names[3][2]="MA"
    print("names:",names)
    print("names2:",names2)

    结果奉上:

    深copy出来的names2是完全独立于names的,相互之间不受干扰。

    ③类似于赋值操作的复制

    names2=names    #直接将其赋值给names2

    进行上述操作后,结果如下

    无论对谁进行操作,两者的内容保持同步和一致

    8.列表排序

    ①列表反转:severse()方法

    names.severse()  #将列表反转
    print(names)

    ②列表排序:sort()方法

    naems.sort()   #将列表排序
    print(names)

    排序规则:按照每个字符串首位,特殊符号>数字>大写字母>小写字母,前提是数据类型是字符型。

    注意:不同的数据类型无法排序!

    9.列表循环

    推荐用for循环

    for i names:
       print(i)

    10.清空列表、删除列表

    清空列表用clear()方法

    names.clear()

    删除列表用 del

    del names

    10.获取列表长度

    ①names._len_()方法

    ②len(names)函数

    都是获取列表中元素的个数

     

     四、元组

    元组就是只读列表

    定义一个元组:

    names=(1,2,3,4,5)

    只能对它进行查询访问,不能增、删、改。当然,可以删除整个元组,即

    del names

  • 相关阅读:
    QQ列表展示
    拖动条SeekBar
    信息提示框、对话框
    键盘事件、触摸事件
    时间日期事件处理,长按事件
    图片切换示例
    索引值的应用
    this的应用
    自定义属性应用1
    自定义属性应用
  • 原文地址:https://www.cnblogs.com/V587Chinese/p/8712099.html
Copyright © 2020-2023  润新知