博客
关于我
python - 列表
阅读量:803 次
发布时间:2023-03-05

本文共 2298 字,大约阅读时间需要 7 分钟。

列表的定义与操作

列表(List)是Python中的一个非常重要的数据结构,它允许我们存储和操作一系列同一类型的元素。列表在Python中是动态数组,能够灵活地改变大小,并支持多种操作,如增删改查和切片操作。

列表的基本操作

  • 定义一个空列表

    列表的定义非常简单,只需要使用方括号[]即可。

    list = []

    你也可以通过type()函数检查列表的类型:

    type(list)

    输出结果为list,确认我们定义的是列表。

  • 定义包含元素的列表

    列表中的元素可以是任意类型,包括数值类型、列表、字符串等。

    list = ['huan', 21, 'happy', (1,), [1, 2]]

    你可以通过索引访问列表中的元素。正向索引从0开始,反向索引用-1表示倒数第一个元素。

    list[0]  # 输出 'huan'list[-1]  # 输出 [1, 2]
  • 列表的切片操作

    切片可以用来提取列表中的一部分元素。list[start:stop:step]的语法中:

    • start表示从哪个索引开始(默认为0)
    • stop表示截止到哪个索引(默认为末尾)
    • step表示步长(默认为1)
    list = ['huan', 21, 'happy', (1,), [1, 2]]list[1:]  # 去掉第一个元素,输出 [21, 'happy', (1,), [1, 2]]list[:1]  # 提取第一个元素,输出 ['huan']

    切片还支持逆置,使用[::-1]可以反转列表的顺序。

    list[::-1]  # 输出 [[1, 2], (1,), 'happy', 21, 'huan']
  • 列表的重复和连接

    列表支持重复操作*和连接操作+

    list1 = [1, 2, 3]list2 = ['a', 'b', 'c']list1 + list2  # 输出 [1, 2, 3, 'a', 'b', 'c']list1 * 2  # 输出 [1, 2, 3, 1, 2, 3]
  • 列表的增删改查

    • 插入元素:可以通过insert()方法在指定位置插入元素。
      list.insert(0, 'fentiao')  # 输出 ['fentiao', 'huan', 21, 'happy', (1,), [1, 2]]
    • 删除元素:可以通过remove()del命令删除元素。
      list.remove('ha')  # 如果列表中有多个相同元素,remove()会删除第一个 encountered 的元素。del list[1]  # 删除指定索引位置的元素。
    • 修改元素:可以通过索引赋值修改元素。
      list[0] = 'dabai'  # 修改列表的第一个元素。
  • 列表的排序与逆转

    • 排序:可以使用sort()方法对列表进行排序。默认排序规则是按ASCII值排序。
      list = [1, 2, 3, 4, 5]list.sort()  # 输出 [1, 2, 3, 4, 5]
    • 逆转:可以使用reverse()方法将列表逆转。
      list = [1, 2, 3, 4, 5]list.reverse()  # 输出 [5, 4, 3, 2, 1]
  • 栈与队列的实现

    列表可以用来模拟栈和队列的数据结构。

    • 栈(LIFO)

      栈的特点是先进后出。可以通过append()和pop()方法来实现。

      stack = []stack.append('a')  # 栈变为 ['a']stack.pop()  # 删除并返回最后一个元素 'a'
    • 队列(FIFO)

      队列的特点是先进先出。可以通过append()和popleft()方法来实现。

      queue = []queue.append('a')  # 队列变为 ['a']queue.popleft()  # 删除并返回第一个元素 'a'

    实践案例

    假设我们需要实现一个用户登录系统:

  • 保存用户信息

    将用户和密码分别保存到列表中。

    users = []user_info = {'username': 'zhangsan', 'password': '123456'}users.append(user_info)

    输出:users = [{'username': 'zhangsan', 'password': '123456'}]

  • 判断用户是否注册

    检查列表中是否存在匹配的用户信息。

    username = 'zhangsan'password = 'wrongpassword'if any(user['username'] == username and user['password'] == password for user in users):    print('用户已注册')else:    print('用户未注册')

    输出:用户未注册

  • 登录时的防止暴力破解

    限制登录次数,例如只允许三次尝试。

    max_attempts = 3attempts = 0username = 'zhangsan'password = '123456'while attempts < max_attempts and not found:    attempts += 1    # 交织其他验证逻辑if found:    print('登录成功')else:    print('登录失败,尝试次数已达到限制')
  • 总结

    列表是Python中最常用的数据结构之一,支持丰富的操作方法,适合处理各种数据存储和处理需求。熟练掌握列表的操作对日常编程工作非常有帮助。

    转载地址:http://miafk.baihongyu.com/

    你可能感兴趣的文章