欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python基础(6)--列表与元组

程序员文章站 2022-05-12 10:41:43
...

1.列表的定义

  • 作用: 有能力保存任意的数据类型, 比字符串更加强大, 而且存取值比较方便

  • 格式:

    列表名 = [元素1, 元素2, ...]
    
  • 空列表:和空字符定义类似

    列表名 = []
    列表名 = list()
    
  • 注意:

  • 列表同样支持下标索引和切片

  • 如果一个数据类型支持下标索引和切片也就说明这个类型是一个有序的数据类型

  • 列表是可变类型

  • 列表可以改变内部数据(增,删,改)

  • 不同于字符串和元组类型(不可变)

2.列表的循环遍历

  • for
# 定义列表
my_list = ['小名', '小红', '小刚', '小小']
# for
for name in my_list:
print(name)
  • while
# 定义列表
my_list = ['小名', '小红', '小刚', '小小']
# while
i = 0
while i < len(my_list):
name = my_list[i]
print(name)
i += 1

3 列表–添加元素

  • append
    • 作用:向列表中追加元素,其追加的数据会作为一个整体丢入到列表中
    • 格式:list.append(object)
  • extend
    • 作用:把一个可迭代对象进行最小的单元拆分,然后依次的丢入到列表中
    • 格式:list.extend(iterable)
  • insert
    • 向列表中的指定位置添加元素,其被添加的元素会作为一个整体插入到列表中
    • 格式:list.insert(index, object)

4 列表–修改和查找元素

  • 修改
    • 格式:list[index] =new_value
  • in
    • 作用:判断一个元素是否存在于列表中
    • 格式:object in list
  • not in
    • 作用:判断一个元素是否存在于列表中
    • 格式:object not in list
  • index
    • 作用:查看一个元素在列表中的位置
    • 格式:index = list.index(object)
    • list 的操作没有find ,只能用index
  • count
    • 作用:计算元素出现的次数
    • 格式:count = list.count(object)

5.列表–删除元素

  • 通过下标索引删除元素
    • del(del属于python中的关键字 )
      • 格式:del list(index)
      • index 是必须输入 且不能越界
    • pop(方法)
      • 格式:del_value =list.pop(index)
      • index 不输入时默认为删除最后一个,不能越界
  • 通过元素值删除内容
    • remove
      • list.remove(object)
      • 若在一个列表中,存在相容元素,则只会删除第一个

6.排序

  • 示例:[2, 1, 3]
  • 升序
    • 格式:list.sort()或者list.sort(reverse=False)
    • [1, 2, 3]
  • 降序
    • 格式:list.sort()或者list.sort(reverse=Ture)
    • [3, 2, 1]
  • 倒序:
    • 格式:list.reverse()或者list[::-1]
    • [3, 1, 2]

7.列表嵌套

  • 概念:如果列表中的元素还是列表类型就称为列表嵌套

  • 格式:

    list = [[], [], []]
    

8.列表嵌套应用

import random
# 一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配
​
# 01: 准备学校和办公室
office_list = [[], [], []]
# 02: 准备8名老师
teacher_list = list('ABCDEFGH')
print(teacher_list)
​
# 03: 循环遍历8名老师
for name in teacher_list:
    # 04: 向学校的办公室内添加老师
    # 0401: 通过随机的下标索引得到随机的办公室
    # index = random.randint(0, len(office_list) - 1)
    # office = office_list[index]
    # # 0402: 向办公室内追加老师
    # office.append(name)
​
    # 优化
    office_list[random.randint(0, len(office_list) - 1)].append(name)
​
print(office_list)

9.列表去重

my_list = [1, 1, 2, 2, 3, 4, 5, 5, 6, 7, 7, 8, 8, 8, 9, 10]
# 进行去重处理
# new_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
​
# 01: 准备一个空的列表
new_list = []
# 02: 循环遍历my_list
for value in my_list:
    # 03: 判断value 是否存在于new_list中
    if value not in new_list:
        # 04; 向new_list中添加value
        new_list.append(value)
​
print(new_list)

10.元组的定义

  • 对比(列表 vs 元组)

    • 不同点:
      • 定义格式不同 [] ()
      • 列表可变(增 删 改 查)
      • 元组不可变(只能查)
    • 相同点:
      • 都可以保存任意类型的数据
      • 都是有序的数据(可以进行下标索引,切片)
  • 格式:

    tuple = (元素1,元素2, ...)
    
  • 特殊的元组

    • 空元组
    tuple = ()
    tuple = tuple()
    
    • 有且只有一个元素
      • 只有一个元素时,必须在后面加一个逗号,不然此时数据类型为元素1自己本身的类型,而非元组类型
    tuple = (元素1,)
    
  • 循环遍历

    • for(循环遍历还是for比较合适)
    • while

11.元组的相关操作

  • 元组是不可变的数据类型

    my_tuple[index] = new_value
    
    • in
    • not in
    • index
    • count
  • 思考:

    • 为什么Python会提出元组这个类型?
      • 数据安全,不可修改
    • 如果一个元组中一个元素也没有,存在有意义么?
      • 没有意义,无法动态的向元组做增 删 改操作。(不能更改,且本身为空,没有任何作用)
相关标签: 基础 概念