• Python:列表操作总结


    一、创建一个列表

    只要把逗号分隔的不同数据项使用方括号括起来即可

    1 list1=['physics','chemistry',1997,2000]
    2 list2=[1,2,3,4,5,6,7]

    [注]:1.列表中的数据项不需要具有相同的数据类型

              2.列表的索引从0开始,并且列表可以进行截取、组合

    二、访问列表中的值

    使用下标索引来访问列表中的值,同样也可以使用方括号的形式来截取字符

    1 list1=['physics','chemistry',1997,2000]
    2 list2=[1,2,3,4,5,6,7]
    3 
    4 print('list1[0]:',list1[0]) #输出:list1[0]:physics
    5 print('list2[1:5]:',list2[1:5]) #输出:[2,3,4,5]

    三、列表脚本操作符

    Python表达式

    结果 描述
    len([1,2,3]) 3 长度
    [1,2,3]+[4,5,6] [1,2,3,4,5,6] 组合
    ['Hi!']*4 ['Hi!','Hi!','Hi!','Hi!'] 重复
    3 in [1,2,3] True

    元素是否存在于列表中

    for x in [1,2,3]: print(x) 1,2,3

    迭代

    四、列表截取

    假设列表如下:

    list=[1,2,3,4,5,6,7,8,9]

    操作:

    Python表达式 结果 描述
    list[2] 3 读取列表中第三个元素
    list[-2] 8 读取列表中倒数第二个元素
    list[1:4] [2,3,4] 截取从下标1开始到下标4(不包括下标4的元素)的元素,结果是一个列表
    list[1:8:2] [2,4,6,8] 截取从下标1开始到下标8(不包括下标8的元素)的元素,步长为2,结果为一个列表
    list[:3] [1,2,3] 从列表第一个元素开始截取到下标为3(不包括下标3的元素)的元素,结果为一个列表
    list[5:] [6,7,8,9] 截取从下标为5开始到列表末尾的元素,结果是一个列表
    list[:] [1,2,3,4,5,6,7,8,9] 复制整个列表

    五、列表操作

    对列表进行操作的内建函数:

    1、cmp(list1,list2): 比较两个列表的元素

    2、len(list): 返回列表中元素的个数

    3、max(list):返回列表中元素的最大值

    4、min(list): 返回列表中元素的最小值

    5、sum(list): 返回列表中元素之和

    6、list(seq): 将元组转换为列表

    7、sorted(list): 获取list的一个副本,并将副本排序并返回结果

    列表的方法:

    增:

    1、list.append(obj): 在列表末尾添加新的对象

    2、list.insert(index,obj): 在列表的下标为index的地方插入对象

    3、list.extend(new_list):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

    删:

    1、list.remove(obj): 移除列表中某个值的第一个匹配项

    2、list.pop(index): 移除列表中下标为index的对象(若不指明index,则默认为列表最后一个元素,并且返回该元素的值

    3、del list[index]: 移除列表中下标为index的对象

    改:

    1、list[index]=new_value :将list中下标为index的元素的值改为new_value

    2、list.reverse():反向列表中的元素

    3、list.sort() :对原列表进行排序 [注]:这个排序改变原来的列表

    4、list.copy(): 对列表进行浅拷贝

    查:

    1、list.count(obj): 统计某个元素在列表中出现的次数

    2、list.index(obj): 从列表中找出某个值第一个匹配项的索引值

    六、对列表进行浅拷贝和深拷贝方法

    import copy #导入copy模块
    lst=[1,2,3,4,5,6,7,8,9]

    shallow_list1=copy.copy(lst) #浅拷贝方法1
    shallow_list2=lst.copy() #浅拷贝方法2
    shallow_list3=lst[:] #浅拷贝方法3
    shallow_list=list(lst) #浅拷贝方法4

    deep_list=copy.deepcopy(lst) #深拷贝

    参考:Python脚本之家、《Python基础教程》

  • 相关阅读:
    C#读写XML no
    ComboBox、ListBox绑定和获取数据 no
    win7 安装oracle 11g no
    2011没有惊天动地 no
    Oracle 删除重复数据只留一条 no
    Oracle 创建用户并分配权限 no
    Oracle 导出、导入某用户所有数据(包括表、视图、存储过程...) no
    谢谢,博客园这么快就审批通过了我的申请!
    Eclipse 中 JAVA AWT相关包不提示问题(解决)
    Eclipse java项目转Maven项目
  • 原文地址:https://www.cnblogs.com/duwenxing/p/7348415.html
Copyright © 2020-2023  润新知