2023-08-23
Python
00

目录

列表的创建
列表的查询操作
列表元素的增、删、改操作
列表元素的排序
列表推导式

列表的创建

变量可以存储一个元素,而列表可以存储N多个元素,列表相当于其他语言的数组。列表有以下几个特点:

  • 列表元素按顺序有序排序的
  • 索引映射唯一的数据
  • 列表可以存储重复数据
  • 任意数据类型混存
  • 根据需要动态分配和回收内存

列表的创建方式有2种,一种使用中括号 [],一种是使用内置函数 list() 来创建列表

python
# 第一种创建列表方式 lst=['hello','world',93,'hello'] print(lst) print(lst[0],lst[-4]) # 第二种创建列表方式 sit2=list(['hello','world',93])

列表的查询操作

  • 在列表中获取指定元素的索引

    python
    lst=['hello','world',37,'hello'] print(lst.index('hello')) # 如果列表存在相同的元素,只返回相同元素的第一个索引 print(lst.index('hello',1,4)) # 在指定索引的范围查找元素的索引
  • 获取列表中的单个元素

    python
    lst=['hello','world',37,'hello'] print(lst[1]) print(lst[-2])
  • 列表的切片操作 [start,stop,step] ,可以获取多个元素,切片后结果是一个新的列表对象

    python
    lst=[10,20,30,40,50,60,70,80] lst2=lst[1:6:1] print('原列表',id(lst)) print('新列表',id(lst2)) print(lst[7:0:-1]) # step为负数的情况
  • 列表的判断指定元素是否存在和遍历

    python
    lst=['hello','python',10,20] print(10 in lst) print(100 not in lst) for item in lst: print(item)

列表元素的增、删、改操作

  • 列表增加操作,列表添加元素是在原列表的对象增加元素,不会创建新对象

    python
    lst=[10,20,30] print('添加元素之前',lst,id(lst)) lst.append(50) print('添加元素之之后',lst,id(lst)) lst2=['hello','python'] lst.extend(lst2) # 像列表末尾一次性添加多个元素 print(lst) lst.insert(1,80) # 在任意位置添加一个元素 print(lst) lst3=[True,False,'hello'] #列表的切片操作 lst[1:3]=lst3 print(lst)
  • 列表元素的删除操作

    python
    lst=[10,20,30,40,50,60,30] lst.remove(30) print(lst) # 如果有重复的元素,只能移除第一个元素 lst.pop(1) # 删除索引为1的元素,如果不指定索引,默认会删除最后一个元素 print(lst) lst[1:3]=[] # 列表的切片删除 print(lst) lst.clear() # 清空列表中的所有元素 print(lst) del lst # 删除列表
  • 列表元素的修改操作

    python
    lst=[10,20,30,40] lst[2]=50 # 把索引2的元素修改成50 print(lst) lst[1:3]=[100,200,300,500] # 切片修改元素 print(lst)

列表元素的排序

  • 调用 sort() 方法排序,对原列表进行排序,不会创建新的列表

    python
    lst=[42,20,8,45,31,92] print('排序之前的列表',lst,id(lst)) lst.sort() # 默认是升序排序 print('排序后的列表',lst,id(lst)) lst.sort(reverse=True) print(lst)
  • 调用内置函数 sorted() 排序,会新建列表,原列表不会改变

    python
    lst=[42,20,8,45,31,92] print('排序之前的列表',lst,id(lst)) new_list=sorted(lst) # 将排序后的结果赋值给变量 print(lst) print(new_list) desc_list=sorted(lst,reverse=True) # 降序排序 print(desc_list)

列表推导式

  • 列表生成式就是生成列表的公式

    python
    lst=[i for i in range(1,10)] # 生成1-9的列表 print(lst) lst2=[i*2 for i in range(1,6)] # 生成 2 4 6 8 10 的列表 print(lst2)

本文作者:柯南

本文链接:

版权声明:©2023 柯南 All rights reserved.