python~列表,元组,集合

本文深入探讨Python中的数据结构,包括列表、元组、集合的特性和应用,涵盖列表的操作如增删改查,元组的创建与赋值,集合的定义及练习,通过实例解析数据结构的使用技巧。

一,01_列表创建
数组:存储同一种数据类型的集合 scores = [12,23.5,423]
列表(打了激素的数组):可以存储任意数据类型的集合
在这里插入图片描述
在这里插入图片描述
02_列表的特性
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3,列表练习
假定有下面这样的列表:
names = [‘fentiao’, ‘fendai’, ‘fensi’, ‘apple’]
输出结果为:‘I have fentiao, fendai, fensi and apple.’
在这里插入图片描述
在这里插入图片描述
4, 列表元素的增加
在这里插入图片描述
在这里插入图片描述
5, 列表元素的删除
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6,列表元素的修改
在这里插入图片描述
在这里插入图片描述
7,列表的查看
在这里插入图片描述
在这里插入图片描述
8,排序
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述二,1,元组的常用方法
在这里插入图片描述
在这里插入图片描述
2,用户管理系统
添加用户:
1). 判断用户是否存在?
2). 如果存在, 报错;
3). 如果不存在,添加用户名和密码分别到列表中;

  • 删除用户
    1). 判断用户名是否存在
    2). 如果存在,删除;
    3). 如果不存在, 报错;
  • 用户登陆
  • 用户查看
    1. 通过索引遍历密码
  • 退出
  • 在这里插入图片描述
  • 在这里插入图片描述
  • 3,元组的应用场景
  • 变量交换数值

a = 1
b = 2
b,a = a,b

1.先把(a,b)封装成一个元组(1,2)
2.b,a=a,b ====>b,a=(1,2)
b=(1,2)[0] a=(1,2)[1]

print(b)
print(a)

#打印变量的值
name = ‘westos’
age = 11
t = (name,age)
print(‘name: %s,age:%d’ %(name,age))
print(‘name:%s,age:%d’ %t)

元组的赋值,有多少个元素,就用多少个变量接收

t = (‘westos’,11,100)
name,age,score = t
print(name,age,score)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4,后台管理员管理前台会员信息

  1. 后台管理员只有一个用户: admin, 密码: admin
  2. 当管理员登陆成功后, 可以管理前台会员信息.
  3. 会员信息管理包含:
    添加会员信息
    删除会员信息
    查看会员信息
    退出

print(‘管理员登陆’.center(50,’’))
inuser = input(‘UserName:’)
inpasswd = input(‘Password:’)
users = [‘root’,‘westos’]
passwds = [‘123’,‘456’]
if inuser == ‘admin’ and inpasswd == ‘admin’:
print(‘管理员登陆成功!’)
print(‘会员管理’.center(50,’
’))
while True:
print("""
操作目录
1- 添加会员信息
2- 删除会员信息
3- 查看会员信息
4- 退出

“”")
choice = input(‘请选择你的操作:’)
if choice == ‘1’:
print(‘添加会员信息’.center(50,’’))
addUser = input(‘添加会员名:’)
if addUser in users:
print(‘用户%s已经存在’ %(addUser))
else:
addPasswd = input(‘密码:’)
users.append(addUser)
passwds.append(addPasswd)
print(‘添加用户%s成功’ %(addUser))
elif choice == ‘2’:
print(‘删除会员信息’.center(50,’
’))
delUser = input(‘删除会员名:’)
delIndex = users.index(delUser)
users.remove(delUser)
passwds.pop(delIndex)
print(‘删除会员%s成功’ %(delUser))

elif choice == ‘3’:
print(‘查看会员信息’.center(50,’*’))
print(’\t用户名\t密码’)
userCount = len(users)
for i in range(userCount):
print(’\t%s\t%s’ %(users[i],passwds[i]))
elif choice == ‘4’:
exit()

else:
print(‘请输入正确的选择’)
else:
print(‘管理员登陆失败!’)
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
5,通过列表实现栈的数据结构.
栈的工作原理
入栈
出栈
栈顶元素
栈的长度
栈是否为空
stack = []

info = “”"
栈操作
1.入栈
2.出栈
3.栈顶元素
4.栈的长度
5.栈是否为空
“”"
while True:
print(info)
choice = input(‘请输入选择:’)
if choice == ‘1’:
item = input(‘入栈元素:’)
stack.append(item)
print(‘元素%s入栈成功’ %(item))

elif choice == ‘2’:
# 先判断栈是否为空
if not stack:
print(‘栈为空,不能出栈’)
else:
item = stack.pop()
print(’%s元素出栈成功’ %(item))
elif choice == ‘3’:
if len(stack) == 0:
print(‘栈为空,不能出栈’)
else:
print(‘栈顶元素为%s’ %(stack[-1]))
elif choice == ‘4’:
print(‘栈的长度为%s’ %(len(stack)))
elif choice == ‘5’:
if len(stack) == 0:
print(‘栈为空’)
else:
print(‘栈不为空’)
elif choice == ‘q’:
print(‘退出’)
break
else:
print(‘请输入正确的选择’)
6,队列
queue = []
info = “”"
1 入队
2 出队
3 队头
4 队尾
5 队列是否为空
6 显示队列元素
q 退出
“”"
while True:
print(info)
choice = (input(‘请输入选项:’))
if choice == ‘1’:
item = input(‘请输入入队元素:’)
queue.insert(0,item)
elif choice == ‘2’:
if len(queue)!=0:
item = queue.pop(-1)
else:
print(‘无法出队,队列为空’)
elif choice == ‘3’:
if len(queue) != 0:
item = queue[0]
else:
print(‘没有队头,队列为空’)
elif choice == ‘4’:
if len(queue) != 0:
item = queue[-1]
else:
print(‘没有队尾,队列为空’)
elif choice == ‘5’:
if len(queue) != 0:
print(‘队列不为空’)
else:
print(‘队列为空’)
elif choice == ‘6’:
if len(queue) != 0:
print(’%s’%queue)
else:
print(‘没有队头,队列为空’)
elif choice == ‘q’:
break
else:
print(‘请重新输入选项’)
7,python中常用的内置方法
在这里插入图片描述
在这里插入图片描述
8,元组的创建
元组:带了紧箍咒的列表
元组是一个不可变数据类型,没有增删改查
可以存储任意的和数据类型
在这里插入图片描述
在这里插入图片描述
9,元组的特性
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
三,1,集合的定义
在这里插入图片描述
在这里插入图片描述
2,集合的特性
集合支持的特性只有:成员操作符,索引 切片 重复 连接 均不支持
在这里插入图片描述
在这里插入图片描述
3,集合常用的方法
集合:
无序数据类型
添加顺序和在集合中存储的顺序是不同的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4,集合练习题目
华为机测题:
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性
他先用计算机生成了N个1~1000之间的随机整数(N<=1000),N是用户输入的,对于
其中重复的数字,只保留一个,把其余相同的数字去掉,不同的数对应着不同的学生的学号,然后再把这些
数从小到大排序,按照排好的顺序去找同学做调查,请你协助明明完成“去重”与排序工作
import random
s = set([])
for i in range(int(input(‘N:’))):
s.add(random.randint(1,1000))
print(sorted(s))

在 Python 中,列表元组集合和字典是四种常用的数据结构,它们各自具有不同的特性和用途: 1. 列表(List):列表是一种有序、可变的数据结构,用于存储多个元素。列表使用方括号 [] 来表示,元素之间用逗号分隔。列表中的元素可以是任意类型,并且可以通过索引进行访问、修改和删除。列表还支持切片操作和多种方法(如添加、删除和排序等)。 2. 元组(Tuple):元组是一种有序、不可变的数据结构,用于存储多个元素。元组使用圆括号 () 来表示,元素之间用逗号分隔。与列表不同,元组一旦创建就不能修改,因此具有更高的安全性。元组通常用于存储不可变的数据,如坐标、日期和配置信息等。 3. 集合(Set):集合是一种无序、可变的数据结构,用于存储唯一的元素。集合使用花括号 {} 来表示,元素之间用逗号分隔。集合中不允许重复的元素,且没有索引,不支持切片操作。集合支持常见的数学集合操作,如并集、交集、差集等。集合常用于去重操作和判断元素的存在性。 4. 字典(Dictionary):字典是一种无序、可变的键值对数据结构,用于存储多个键值对。字典使用花括号 {} 来表示,每个键值对之间用冒号 : 分隔,键值对之间用逗号分隔。字典中的键必须是唯一的,而值可以是任意类型。字典通过键来访问、修改和删除对应的值,具有快速的查找速度。 总结起来,列表适合存储有序、可变的多个元素;元组适合存储有序、不可变的多个元素;集合适合存储无序、唯一的元素;字典适合存储键值对数据。根据具体的需求和数据特性,选择合适的数据结构可以更有效地处理和操作数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值