Python基础 列表


为什么需要列表?
难道一个变量不可以表示吗?答案是,可以,但很麻烦
那么列表有什么好处呢

列表的用处

  • 变量可以储存一个元素,但是列表是一个“大容器”,可以存储N个元素,可以方便对这些数据进行整体操作
  • 列表相当于其他语言中的数组
  • 在这里插入图片描述

列表的创建

#First 使用[]进行创建
List = ["I","Love","Python"]

#Second 使用list()方法进行创建
List = list(["I","Love","Python"])

列表的特点

  • 列表元素按照创建顺序有序排列
  • 列表的索引映射唯一 一个数据
List = ["I","Love","Python"]

print(List[1])

#则输出结果为 Love 
  • 列表在内存中的存储
    在这里插入图片描述
  • 列表可以重复存储数据
  • 任意数据类型混存
  • 根据需要动态分配和回收内存

列表的操作

列表元素的查询操作- 获取列表中的元素的索引

List = ["I","Love","Python"]

print(List.index("Love"))

#输出结果为1

1、如果列表中存在多个相同的元素,则只返回第一个元素的索引值

2、如果查询的元素不存在,则返回ValueError

3、还可以在指定的范围内进行查找

List = ["I","Love","Python"]

print(List.index("Love"01))

#输出结果为1,在0到1之间查找
  • 获取单个元素

1、正向索引

List = ["I","Love","Python"]

print(List[2])

#输出结果为Python

2、逆向索引

List = ["I","Love","Python"]

print(List[-1])

#输出结果为Python

3、如果元素不存在,则抛出IndexError错误

  • 获取多个元素

1、通过切片来获取 列表名[start,stop,step]

List = ["I","Love","Python"]

print(List[0:2:1])
#输出结果为['I','Love']

#由于步长可以省略,所以step可以不写
print(List[0:2])
#输出结果依然为['I','Love']

print(List[0:3:2])
#设置步长为2.输出结果为['I','Python']

print(List[2:0:-1])
#若设置步长为-1,则start为最后一个元素,stop默认为第一个元素
#输出结果为['Python','Love']

需要注意的是,切片操作,会创造新的列表对象,即对象的id(在内存中的位置)会改变

  • 判断列表元素是否存在
    在这里插入图片描述

列表元素的增加操作

在这里插入图片描述

  • append()函数
List = ['I','Love','Python']
List.append('Very Much')
print(List)
#输出结果为['I','Love','Python','Very Much']

但是,如果想要加入[‘Very’,‘Much’]两个元素的话,用append()函数,会将两个元素当作一个列表元素插入列表中

List = ['I','Love','Python']
List.append(['Very','Much'])
print(List)
#则会输出['I','Love','Python',['Very','Much']]

  • extend()函数
    使用entend()函数则不会出现以上情况
List = ['I','Love','Python']
List.extend(['Very','Much'])
print(List)
#则会输出['I','Love','Python','Very','Much']
  • insert()函数

会在指定位置插入元素

List = ['I','Love','Python']
List.insert(3,"Very Much")
print(List)
#输出结果为 ['I', 'Love', 'Python', 'Very Much']
  • 使用切片进行替换
List = ['I', 'Love', 'Python']
List[2:] = ["C++"]
print(List)
#输出结果为 ['I', 'Love', 'C++']

列表元素的删除

在这里插入图片描述

  • remove()函数
List = ['I', 'Love', 'Python']
List.remove('I')
print(List)
#输出结果为['Love','Python']
  • pop()函数
List = ['I', 'Love', 'Python']
List.pop(0)
print(List)
#输出结果为['Love','Python']
  • 切片
List = ['I', 'Love', 'Python']
List[1:] = []
#默认stop为最后一个元素,设置从索引值为1的元素Love到最后用[]代替

print(List)
#输出结果为['I']
  • claer()函数
    将列表清空
List = ['I', 'Love', 'Python']
List.clear()
#执行clear()方法

print(List)
#输出结果为[],输出结果为空列表
  • del()函数
    删除列表
List = ['I', 'Love', 'Python']
del List
#执行del 内置函数

print(List)
# 报错:NameError: name 'List' is not defined

列表元素修改

  • 为指定索引的元素赋予一个新值
List = ['I', 'Love', 'Python']
List[2] = 'C++'

print(List)
#输出结果为List = ['I', 'Love', 'C++']
  • 为指定切片赋予一个新值
List = ['I', 'Love', 'Python']
List[2:] = ['C++']

print(List)
#输出结果为List = ['I', 'Love', 'C++']

列表元素排序

  • sort()
    调用sort()方法,使得列表中元素按照顺序升序排序;如果想要采取降序排列,则设置reverse = True
List = [1,2,6,7,3,4,5]

List.sort()
print(List)
#输出结果为[1, 2, 3, 4, 5, 6, 7]

List.sort(reverse=True)
print(List)
#输出结果为[7, 6, 5, 4, 3, 2, 1]
  • sorted()内置函数
List = [1,2,6,7,3,4,5]

print(sorted(List))

#输出结果为[1, 2, 3, 4, 5, 6, 7]
END

整理不易,希望各位小伙伴们点个赞,收个藏,小C在这里谢谢各位了,么么哒

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐