本文共 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/