11.python 列表


列表

  为什么需要列表

    变量可以存储一个元素,而列表是一个大容器,可以存储n多元素,程序可以方便的对这些数据进行整体操作
    列表相当于其它语言中的个数组

  列表的创建与删除

    列表需要使用中括号[],元素之间使用英文的逗号进行分割
    列表的创建
      使用中括号创建

# ----------列表----------
lst = ['python', 'pycharm', '', 1]

      调用内置函数list()

a = list(['python', 'pycharm', '', 1])
print(id(a), a, type(a))

11.python 列表0

  列表的特点

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

  列表的删除
# ---------列表删除----------
lst = ['python', 'pycharm', '', 1]
# 按下标删除
del lst[2]  # ['python', 'pycharm', 1]
# 按内容删除
lst.remove(1)  # ['python', 'pycharm']
# 清空列表
lst.clear()  # []

11.python 列表0

  列表的查询操作

    获取列表中指定元素的索引:index()
      如果所查列表中存在多个相同元素,只返回第一个元素的索引
      如果查询的元素再列表中不存在,则会抛出ValueError
      还可以在指定的start和stop之间进行查找

    获取列表中的单个元素

      正向索引从0到N-1
      逆向索引从-N到-1
      指定索引不存,抛出indexError

# ----------查询----------
ls = ['python', 'pycharm', 'aa', 'c']
lst = [1, 2, 10, 100, 1]
print(lst.index(1))  # 0,只返回所查元素的第一个的索引
print(lst.index(2, 1, 5))  # 在下标1-5之间的元素中查找2
print(len(lst), max(lst), min(lst), list(lst))  # 列表元素个数、列表中最大值
print(max(ls), min(ls))
print(lst[2], ls[-2])

11.python 列表0

    获取列表中多个元素

      list[start,stop,step]
      切片操作
        结果:原列表片段的拷贝
        范围:[start,stop]
        step默认是1
        step为正数:
          切片的start默认是1,切片的stop默认是最后一个元素
        step为负数:
          切片的start默认是最后一个元素,切片的stop默认是第一位元素

# 获取多个元素
print(lst[0:2])
print(lst[0:4:2], lst[-1:-5:-2])
11.python 列表0
    判断指定元素在列表中是否存在

      column in list
      column not in list
      列表元素的遍历
        for i in list:
          操作

print(10 in lst)
print(100 not in lst)
for i in lst:
    print(i)

11.python 列表0

  列表的增删改操作
    列表元素的增加操作
增加操作 方法 操作描述
append() 在列表尾部增加一个元素
extend() 在列表的末尾至少增加一个元素
insert() 在列表的任意位置增加一个元素
切片 在列表的任意位置添加至少一个元素
# 列表元素的增加操作
lst = [10, 20, 30]
print(lst)
lst.append(50)  # append,在最后添加50
print("1次操作:"+str(lst))
tup = ('60', '80')
lst.extend(tup)  # extend,在最后添加tup
print("2次操作:"+str(lst))
lst.insert(1, 15)  # insert,在下标1的地方添加15
print("3次操作:"+str(lst))
lst1 = [30, 40, 50]  # 切片,将原列表中2到3的数据删去,使用填充的元素进行添加
lst[2:3] = lst1
print("4次操作:"+str(lst))

11.python 列表0

    列表元素的删除操作
删除操作 方法 操作描述
remove() 一次删除一个元素
重复的元素只能删除第一个
元素不存在抛出ValueError
pop() 删除一个指定索引位置上的元素
指定索引不存在抛出IndexError
不指定索引删除列表中最后一个元素
clear() 请空列表
del 删除列表
切片 一次至少删除一个元素
# 列表元素的删除操作
lst = [10, 15, 30, 40, 50, 30, 80]
lst.remove(50)
print(lst)
lst.pop(4)
print(lst)
del lst[-3:-1]
print(lst)
newlst = lst[1:3]  # 切片,生成一个新的列表对象
print(newlst)
lst[1:3] = []  # 不产生新的列表对象,而是删除原列表中的内容
print(lst)
lst.clear()
print(lst)
del lst  # 删除整个列表
print(lst)

11.python 列表0

    列表元素的修改操作

      为指定索引的元素赋予一个新值
      为指定的切片赋予一个新值

# 列表元素的修改操作
lst = [1, 2, 3, 4, 5, 6, 7, 8]
lst[2] = 4
print(lst)
lst[1:3] = [5, 10, 15]
print(lst)

11.python 列表0

    列表元素的排序

      常见的两种方法:
        调用sort()方法,列中的所有元素默认按照从小到大的顺序进行排列,可以指定reverse=True来降序排序
        调用内置函数sorted(),产生一个新的列表对象,可以指定reverse=True,进行降序排序,愿列表不发生变化

# ----------排序----------
# sort
lst = [2, 3, 1, 5, 4, 6, 8, 7]
lst.sort()  # 正序排列
print(lst)
lst.sort(reverse=True)  # 倒序排列
print(lst)
# sorted
lst = [2, 3, 1, 5, 4, 6, 8, 7]
print("原列表"+str(lst))
newlst = sorted(lst)
print(newlst)
newlst = sorted(lst, reverse=True)
print(newlst) 

11.python 列表0

  列表生成式

    列表生成式简称‘生成列表的公式’
    语法格式:[i*i for i in range(1,10)]
    注意事项:‘表示列表元素的表达式’中通常包含自定义变量

import math
lst = [round(math.sqrt(i*2),1) for i in range(1, 10)]
print(lst)

11.python 列表0

原创文章,作者:,如若转载,请注明出处:https://blog.ytso.com/272310.html

(0)
上一篇 2022年7月9日
下一篇 2022年7月9日

相关推荐

发表回复

登录后才能评论