zoukankan      html  css  js  c++  java
  • Python基础之列表

    列表初识

    列表的作用和定义

    列表是python中使用最频繁的数据类型,在其他语言中一般称为数组;
    用一个变量存储多个数据;
    列表存储多个数据时,在中括号之间用逗号分隔多个数据;

    语法定义:

    变量名 = [数据1, 数据2, 数据3,...]
    eg:
    name_list = ["zhangsan", "lisi", "wangwu"]
    

    列表存储数据的方式和取数据

    • 列表按顺序存储数据,从0开始,逐渐递增的存,你可以理解为琅琊榜中琅琊阁的信息柜,一个一个存过去,并且给柜子从0开始编号,每次+1;
    • 取数据的时候只需要按照柜子编号取即可;
    • 列表的索引从0开始,索引就是数据在列表中的数据编号,索引又可以被称为下标。从列表中取值时,如果超出索引范围,就会报错。

    定义和取数据示例如下(在交互式下):

    name_list = ["zhangsan", "lisi", "wangwu"]
    name_list
    ['zhangsan', 'lisi', 'wangwu']
    name_list[0]
    'zhangsan'
    name_list[1]
    'lisi'
    

    列表方法

    列表方法查看

    在ipython3交互式下,先定义一个空列表;再 空列表. 后面敲一下tab键,即可显示列表常用方法;例如:

    In [1]: name_list = []
    
    In [2]: name_list.
    name_list.append   name_list.count    name_list.insert   name_list.reverse
    name_list.clear    name_list.extend   name_list.pop      name_list.sort
    name_list.copy     name_list.index    name_list.remove   
    
    In [2]: name_list.
    

    由此可见,列表方法有如下这些:

    name_list.append   name_list.count    name_list.insert   name_list.reverse
    name_list.clear    name_list.extend   name_list.pop      name_list.sort
    name_list.copy     name_list.index    name_list.remove 
    

    列表常用方法统计

    序号 分类 关键字/函数/方法 说明
    1 增加 list.insert(index, data) 在指定位置插入数据
    list.append(data) 在末尾追加数据
    list.extend(list2) 将列表2的数据追加到列表
    2 修改 list[index]=data 修改指定索引的数据
    3 删除 del list[index] 删除指定索引的数据
    list.remove(data) 删除第一个出现的指定数据
    list.pop() 删除末尾数据
    list.pop(index) 删除指定索引数据
    list.clear() 清空列表
    4 统计 len(list) 测量列表长度
    list.count(data) 检查数据在列表中出现的次数
    5 排序 list.sort() 升序排序
    list.sort(reverse=True) 降序排序
    list.reverse() 逆序,反转

    列表取值和取索引(index)

    name_list = ["zhangsan", "lisi", "wangwu"]
    
    # 列表取值,已知 内容在列表的位置(索引),根据索引来取值;注意,如果索引值超过范围的话,就会报错
    print(name_list[2])
    
    # 列表取索引,已知 内容,根据内容来确定内容在列表的位置;
    # 注意,如果查的内容不是列表中的内容的话,就会报错
    print(name_list.index("lisi"))
    

    列表 修改指定索引的数据

    name_list = ["zhangsan", "lisi", "wangwu"]
    # 修改指定索引的数据;注意,如果索引超过了范围,就会报错,而不是在末尾新建一个数据,那是append该做的事
    name_list[2] = "wangliu"
    print(name_list)
    

    列表增加(append,insert,extend)

    1.append

    name_list = ["zhangsan", "lisi", "wangwu"]
    # 3.1 append 在列表末尾追加
    name_list.append("liudi")
    print(name_list)  # ['zhangsan', 'lisi', 'wangwu', 'liudi']
    

    2.insert

    name_list = ["zhangsan", "lisi", "wangwu"]
    #3.2 insert 向列表指定索引位置添加数据,注意,不是进行替换,只是挤进去而已
    print(name_list)  # ['zhangsan', 'lisi', 'wangwu']
    name_list.insert(1, "xiaoming")
    print(name_list)  # ['zhangsan', 'xiaoming', 'lisi', 'wangwu']
    

    3.extend

    # 3.3 extend 向列表末尾分散的追加另一个列表的所有内容,注意是分散的追加
    hero_list = ["hanxin", "zhangfei", "zhuge"]
    print(name_list)  # ['zhangsan', 'lisi', 'wangwu']
    name_list.extend(hero_list)
    print(name_list)  # ['zhangsan', 'lisi', 'wangwu', 'hanxin', 'zhangfei', 'zhuge']
    

    列表删除数据(remove,pop,clear)

    1.remove

    name_list = ["zhangsan", "lisi", "wangwu"]
    # 4.1 remove 删除列表中指定的数据,注意,输入的要删除的数据必须在列表内,否则会报错
    # 如果列表中存在两个相同的元素时,remove方法会删除第一个出现的元素
    print(name_list)  # ['zhangsan', 'lisi', 'wangwu']
    name_list.remove("zhangsan")
    print(name_list)  # ['lisi', 'wangwu']
    

    2.pop

    name_list = ["zhangsan", "lisi", "wangwu"]
    # 4.2 pop 默认删除列表最后一个数据,也可以删除指定索引的数据,指定索引时,不能超过范围,否则报错
    print(name_list)  # ['zhangsan', 'lisi', 'wangwu']
    name_list.pop()
    print(name_list)  # ['zhangsan', 'lisi']
    
    name_list.pop(2)
    print(name_list)  # ['lisi']
    

    3.clear

    name_list = ["zhangsan", "lisi", "wangwu"]
    # 4.3 clear 清空列表
    print(name_list)  # ['zhangsan', 'lisi', 'wangwu']
    name_list.clear()
    print(name_list)  # []
    

    del关键字删除列表元素和del注意事项

    name_list = ["zhangsan", "lisi", "wangwu"]
    # 使用del关键字可以删除列表中的元素;但在日常开发中,如果要删除列表中的元素,建议使用列表提供方法。
    del name_list[1]
    print(name_list)  # ['zhangsan', 'wangwu']
    
    # del关键字的本质是将变量从内存中删除
    name = "xiaoming"
    print(name)
    del name
    # print(name)  # del将变量删除后,变量就无效了,不能再被调动,否则报错,所以本行必须被删除
    

    列表统计(len,count)

    1.len

    name_list = ["zhangsan", "lisi", "wangwu"]
    
    # len 统计列表中元素的个数
    list_num1 = len(name_list)
    print("列表中元素的个数为:", list_num1)
    name_list.append("zhangsan")
    list_num2 = len(name_list)
    print("列表中元素的个数为:", list_num2)
    

    2.count

    name_list = ["zhangsan", "lisi", "wangwu"]
    # count 统计列表中某一元素出现的个数
    times = name_list.count("zhangsan")
    print("列表中zhangsan出现的次数为:", times)
    

    列表的升降序和逆序(反转) (sort,reverse)

    升序sort

    name_list = ["zhangsan", "lisi", "wangwu"]
    num_list = [2, 4, 1, 3, 8]
    
    name_list.sort()
    print("升序后姓名列表:", name_list)  # ['lisi', 'wangwu', 'zhangsan']
    print("升序前数字列表:", num_list)  # [2, 4, 1, 3, 8]
    num_list.sort()
    print("升序后数字列表:", num_list)  # [1, 2, 3, 4, 8]
    

    降序sort

    name_list = ["zhangsan", "lisi", "wangwu"]
    num_list = [2, 4, 1, 3, 8]
    
    print("降序前姓名列表:", name_list)  # ['zhangsan', 'lisi', 'wangwu']
    name_list.sort(reverse=True)
    print("降序后姓名列表:", name_list)  # ['zhangsan', 'wangwu', 'lisi']
    print("降序前数字列表:", num_list)  # [2, 4, 1, 3, 8]
    num_list.sort(reverse=True)
    print("降序后数字列表:", num_list)  # [8, 4, 3, 2, 1]
    

    逆序reverse

    name_list = ["zhangsan", "lisi", "wangwu"]
    num_list = [2, 4, 1, 3, 8]
    
    print("逆序前姓名列表:", name_list)  # ['zhangsan', 'lisi', 'wangwu']
    name_list.reverse()
    print("逆序后姓名列表:", name_list)  # ['wangwu', 'lisi', 'zhangsan']
    print("逆序前数字列表:", num_list)  # [2, 4, 1, 3, 8]
    num_list.reverse()
    print("逆序后数字列表:", num_list)  # [8, 3, 1, 4, 2]
    

    应注意,无论是升降序还是逆序,都是直接对原列表做修改的,而不是临时修改

    列表其他扩展

    关键字,函数和方法的区别

    关键字

    关键字是Python内置的,具有特殊意义的标识符;
    关键字比如del,直接使用,后面无需括号。

    import keyword
    
    print(keyword.kwlist)
    
    """
    ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue','def', 'del',
     'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 
     'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
     """
    

    函数

    函数封装了独立功能,可以直接调用;
    函数的调用:

    # 函数名(参数)
    例如:print("hello world")
    

    方法

    方法和函数类似,封装了独立功能;
    与函数不同的是,方法需要通过对象调用,表示针对这个对象要做的操作。
    方法的使用:

    # 对象.方法名()
    例如:namelist.pop()
    

    循环遍历

    列表遍历就是 从头到尾 依次从列表中取数据;
    每次循环都将 从列表中顺序的读取出来的数据放在临时变量中,然后执行相同的操作。
    使用for进行迭代遍历。

    遍历语法格式:

    for 临时变量 in 列表:
    	针对临时变量进行的操作
    

    遍历示例:

    name_list = ["zhangsan", "lisi", "wangwu"]
    for i in name_list:
        print("本次读取的名字为:", i)
    

    列表的应用场景

    虽然python的列表可以存储不同的数据类型,比如同时存储字符串和数字;但在实际开发中,通常都是存储的同一类数据类型,然后通过迭代遍历列表中的数据,做相同的操作。

  • 相关阅读:
    markdown常用语法
    利用 js-xlsx 实现选择 Excel 文件在页面显示
    HTML中meta标签
    wxpy模块
    Python基础(3)
    Python基础(2)
    Python基础(1)
    Python之递归锁与互斥锁
    Python进程与线程
    Docker
  • 原文地址:https://www.cnblogs.com/yifchan/p/python-1-5.html
Copyright © 2011-2022 走看看