8 元组和字典的应用(8月15日是什么日子)

网友投稿 295 2022-08-25


8 元组和字典的应用(8月15日是什么日子)

8 元组和字典的应用

#dictionary 字典''' 应用: 貂蝉 --- ['屠龙刀','手榴弹'] 800 诸葛亮 ---['鹅毛扇','碧血剑','98k枪'] 300 字典: 特点: 1. 符号:{} 2. 关键字: dict 3. 保存的元素是:key:value -对 列表 元组 字典 [] () {} list tuple dict ele ele key:value[].append(8)element 元素'''# 定义dict1 = {} # 空字典dict2 = dict() # 空字典 list1 = list() 空列表 tuple1= tuple() 空元组dict3= {'ID':'93848304309403','name':'lucky','age':18} # ['7384938493','lucky',18]# dict4 = dict(('name','lucky')) # {'name':xxx,'lucky':xxx}# print(dict4)dict4 =dict([('name','lucky'),('age',18)]) # 'name':'lucky','age':18print(dict4)dict5 = dict([(1,2),(4,5),(6,8),(9,0)])print(dict5)# 注意:list可以转成字典 但是前提:列表中元素都要成对出现# 字典的增删改查:# 增加: 格式:dict6[key]=value# 特点: 按照上面的格式,如果在字典中存在同名的key,则发生值的覆盖(后面的值覆盖原来的)。# 如果没有同名的key,则实现的添加功能(key:value添加到字典中)dict6 = {}dict6['brand']='huawei'print(dict6) # {'brand':'huawei'}dict6['brand']='mi'print(dict6)dict6['type']='p30 pro'dict6['price']=9000dict6['color']='黑色'print(dict6)

'''案例:用户注册功能usernamepasswordemailphone'''print('------------欢迎来到智联招聘用户注册--------------')# 模拟数据库database = []while True: username = input('输入用户名:') password= input('输入密码:') repassword = input('输入确认密码:') email = input('输入邮箱:') phone = input('输入手机号:') # 定义一个字典 user={} # 将信息保存到字典中 user['username']=username if password == repassword: user['password'] = password else: print('两次密码不一致!重新输入.....') continue user['email']=email user['phone']=phone # 保存到数据库 database.append(user) answer = input('是否继续注册?(y/n)') if answer!='y': breakprint(database)for user in database: print(user) #{}

'''增加元素(key:value):dict[key]=value ----> {key:value}特点: key在字典中是唯一的,value值可以是不唯一 {'name':'tom','name':'aaa'} 错误定义{'张三':100,'李四':100,'王五':100} 正确增加元素对比:list1 = []list1.append(element)dict1 ={}dict1[key]=value修改:list1[index]=newvaluedict1[key]=newvalue查询元素:list1[index] ----> elementdict1[key] ---> value取值:字典都是根据key获取value值'''list1 = [3,5,7,8]print(list1[2]) # 列表中找元素根据下标dict1 = {'1':'张三','2':'李四','3':'王五'}print(dict1['2']) # 字典中找元素根据keydict2= {'张三':100,'李四':100,'王五':89,'赵柳':99} print(dict2['王五']) # key# 尝试对字典遍历for i in dict2: print(i)# 单独遍历字典的结果是: 字典的key# 字典里面的函数:# items() values() keys()print(dict2.items())# 考试分数大于90分人# for i in dict2.items():# print(i) # ('zhangsan',100)# a,b =('aa','bb')for key,value in dict2.items(): # print(key,value) if value>90: print(key)# values: 取出字典中所有值,保存到列表中result = dict2.values()print(result)# 求所有学生考试成绩平均分for score in dict2.values(): print(score)scores = dict2.values()totle = sum(scores)avg = totle/len(scores)print(avg)# keys(): 获取字典中的所有key键 (键值对)names = dict2.keys()print(names)for name in names: print(name)# 找人: in 也可以用于字典操作 用于判断元素有没有在字典的key中出现# 8 in list1 print('王五' in dict2)''' 1. 根据key获取值,如果key在字典中没有存在则报出keyError dict[key] ----> value 2. 字典的内置函数: get(key) ----> value 如果取不到值则不会报错,则返回None get(key,default) ---> value 如果能够取到值则返回字典中的值,如果取不到则返回default的值 items()---> list keys() ---> list values() ---> list'''# print(dict2['赵飞'])print(dict2.get('赵飞',99))

# 增加 改 查 (key)删除# 删除:list1=[3,7,9,0]del list1[1]print(list1)dict1 = {'张三':100,'李四':100,'王五':89,'赵柳':99} del dict1['王五']print(dict1)# del dict1['haha'] # keyError# 字典的内置函数:删除# dict1.remove('李四') 不存在 报错的# pop(key[,default]) ----> 根据key删除字典中的键值对,返回值是 只要删除成功,则返回键值对的值value# pop的默认值,往往是在删除的时候没有找到对应的key,则返回default默认值result = dict1.pop('李四','80') print(result)result = dict1.pop('张小三','字典中没有此键')print('======>',result)print(dict1)print('*'*30)# popitem():随机删除字典中键值对(一般是从末尾删除元素) dict1 = {'张三':100,'李四':100,'王五':89,'赵柳':99} result = dict1.popitem()print(result)print(dict1)result = dict1.popitem()print(result)print(dict1)# clear() 同列表的clear()dict1.clear()print(dict1)'''删除:del dict[key]dict.pop(key[,default])dict.popitem()dict.clear()''''''其他的内置函数:update() []+[] 合并操作fromkeys(seq,[default]) ---->将seq转成字典的形式 如果没有指定默认的value则用None new_dict = dict.fromkeys(list1)---》 {'aa': None, 'bb': None, 'cc': None} ---> 如果指定default,则用default替代None这个value值 new_dict = dict.fromkeys(list1,10) ---》 {'aa': 10, 'bb': 10, 'cc': 10}'''# dict1 = dict1+dict2 报错的# print(dict1)dict1= {0:'tom',1:'jack',2:'lucy'}dict2 = {0:'lily','4':'ruby'}result = dict1.update(dict2)print(result)print(dict1)list1 = ['aa','bb','cc']new_dict = dict.fromkeys(list1,10)print(new_dict)

a,b=(1,2),(3,3)d,c=4,6dict1={a:b,d:c}print(dict1)print('$'*30)a,c=c,adict1={a:b,d:c}print(dict1)

'''总结列表:list1. 定义l = [] 空列表l = ['aaa']2.符号:+ ----》 合并 []+[]* -----> [] * nin ----> a in [] False Truenot in ---->is 地址是否相等 not is3.系统中给列表用函数:len(list) ----> intsorted(list) ----> 排序max() 最大值min() 最小值list() 强制转换成列表类型enumerate(list) 枚举 index value4. 列表自身函数:添加元素: append() 末尾添加 extend() 末尾添加一组元素 insert() 指定位置插入删除: del list1[index] remove(obj) 删除指定的元素,如果指定的元素不存在则报异常 pop() 队列 FIFO 栈 FILO 默认删除的是最后一个元素 clear() 清空元素其他: count() 指定元素的个数 sort() 排序 reverse() 翻转 [4,6,8,9,0] ---> [0,9,8,6,4]算法: 选择排序 冒泡排序'''''' 元组: 类似列表(当成容器) 特点: 1. 定义的符号:() 2. 元组中的内容不可修改 3. 关键字: tuple 列表 元组 [] () [1] (1,) [1,2] (1,2)'''t1 = ()print(type(t1)) # t2 =('hello',) print(type(t2))t3 = ('aa','bb')print(type(t3))# t4 =(3,5,7,8,1,4,7,8,9,0)# 增删改 查import randomlist1=[]for i in range(10): ran = random.randint(1,20) list1.append(ran)print(list1) # # tuple() # list() t5 = tuple(list1)print(t5)# 查询: 下标index 切片 [:] print(t5[0])print(t5[-1])print(t5[2:-3])print(t5[::-1])# 最大值 最小值print(max(t5))print(min(t5))# 求和print(sum(t5))# 求长度print(len(t5))# 元组中的函数: # index(obj) ---》 个数# count(obj) ---》 下标位置print(t5.count(4)) # 个数print(t5.index(4)) # 从t5这个元组中找出4的下标位置,没有报错:ValueError: tuple.index(x): x not in tuple

# 拆包t1 =(4,7,3)# a,b =t1 # ValueError: too many values to unpack(拆包) (expected(希望,盼望) 2)# x,y,z=(6,) #ValueError: not enough values to unpack (expected 3, got 1)a,b,c = t1print(a,b,c)a=t1print(a)# 变量个数与元组个数不一致t1 = (2,5,8,9,7)a,*_,c = t1print(a,c,_)a,c,*_ = t1print(a,c,_)a,b,*c =t1print(a,b,c)t1=(9,4,8,6)a,*b=t1print(a,b) # *b 表示未知个数0~n, 0-- [] 多个元素的话 ~ [1,2,3,4,...]print(*b)''' 字符串 x,y,*z = 'hello' ---> x='h' y='e' z=['l','l','o'] 列表 x,y,*z =['aa',6,'hello','good','happy','lucky'] ---> x='aa' y=6 z=['hello','good','happy','lucky']'''''' t1=(9,4,8,6)'''t1=(9,)x,*y = t1print(x,y) # 9,[]# 添加元素y.append('a')y.append('b')print(y) # ['a','b']print(*y) # print() print(4,8,6) 4 8 6'''元组:1. 符号:(1,2,3) tuple2. 关键字:tuple3. 元组的元素只能获取,不能增删改符号:+*is notin not in 系统函数:max()min()sum()len()sorted() ----> 排序,返回的结果就是列表tuple() ---->元组类型的强制转换元组自带函数:index() count()拆装包:x,*y =(1,2,3,4,5)print(y)print(*y)'''t2 = (4,5)+(1,2)print(t2)t3= (3,4)*2print(t3)print(t2 is t3)print(3 not in t3)print(len(t2))print(tuple(sorted(t2)))


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【爬虫高阶】使用xpath语法获取任意关键词的百度搜索结果
下一篇:原因分析IDEA导入Spring
相关文章

 发表评论

暂时没有评论,来抢沙发吧~