博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小甲鱼Python第二十五讲、第二十六讲(字典)
阅读量:3890 次
发布时间:2019-05-23

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

创建和访问字典

索引的方法brand = ['苏宁','京东','淘宝']slogan =['干掉京东','干掉淘宝','干掉苏宁']print('我们的口号是',slogan[brand.index('淘宝')])
字典的方法dict1={
'苏宁':'干掉京东','京东':'干掉淘宝','淘宝':'干掉苏宁'}print("我们的口号是:",dict1['淘宝'])
dict2 = {
1:'one',2:'two',3:'three'}print(dict2)打印字典print(dict2[2])访问
Python 字典 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。dict.fromkeys(seq[, value])例:   dict1={
} print(dict1.fromkeys((1,2,3),'number'))seq -- 字典键值列表。value -- 可选参数, 设置键序列(seq)的值。
dict1={
}dict1=dict1.fromkeys(range(30),"赞")三十个键,打印赞print(dict1)
dict1={
}dict1=dict1.fromkeys(range(30),"赞")for each in dict1.keys():打印所有的key,相同值也是一样values print(each)

第二十五讲课后习题

测试题:
在这里插入图片描述
讨论字典
在这里插入图片描述
67
在这里插入图片描述
不对
在这里插入图片描述

在这里插入图片描述

都一样,没有差别。
在这里插入图片描述
在这里插入图片描述

动动手

在这里插入图片描述

print('---欢迎进入通信录系统---')print('---1:查询联系人资料---')print('---2:插入新的联系人---')print('---3:删除已有联系人---')print('---4:退出通讯录程序---')dict1={
'小甲鱼':'020-0090909','小傻蛋':'080-2334234'}while 1: temp = int(input('请输入相关的指令代码:')) if temp==1: name1=input('请输入联系人姓名:') if name1 in dict1: print(name1+':'+dict1[name1]) else: print('没有此用户') if temp==2: name2=input('请输入联系人姓名:') tel=input('请输入用户联系电话:') if name2 in dict1: print('您输入的名字已在系统中存在-->',end='') if input('是否修改用户资料(NO/YES):')=='YES': dict1[name2]=input('请输入用户联系电话:')重新给存在的键赋一个新的值 print("修改成功!") else: continue else: a={
name2:tel} dict1.update(a) print('插入成功') if temp==3: name3=input('请输入联系人姓名:') if name3 in dict1: dict1.pop(name3) else: print('用户不存在') if temp==4: break

二十六讲课后作业

1.
不支持,会将之前的覆盖掉。
在这里插入图片描述
会自动创建对应的键(Key)并添加相应的值(Value)进去。
在这里插入图片描述

在这里插入图片描述

Python对键的要求严格一点,要求他们必须是可哈希的对象,不能是可变类型。
Python对值是没有任何限制的,他们可以是任意的Python对象。
在这里插入图片描述
{1:‘数字’,3:‘数字’}
在这里插入图片描述

dict1 = {
1: 'one', 2: 'two', 3: 'three' }dict2=dict1print(dict2)#用赋值的办法只是将对象的引用拷贝过去而已。可以用字典的copy()办法:dict1=dict2.copy()

动动手

在这里插入图片描述

dict1 = {
}def test1(): print('---新建用户:N/n---') print('---登录账号:E/e---') print('---退出程序:Q/q---') while 1: code = input("请输入指令代码:") if code == 'N' or code == 'n': inser_user() elif code == 'E' or code == 'e': login() elif code == 'Q' or code == 'q': print("程序退出成功,欢迎下次使用!") breakdef inser_user():#新建用户 name = input("请输入用户名:") if name in dict1: print(input("此用户名已经被使用,请重新输入:")) Pwd = input("请输入密码:") dict1[name] = Pwd#赋值给键相应的值 print("注册成功,赶紧试试登录吧")def login():#登录账号 name = input("请输入用户名:") if name not in dict1: print(input("您输入的用户名不存在,请重新输入:")) password = input("请输入密码:") pwd = dict1.get(name) if password == pwd: print("欢迎进入XXOO系统,请点右上角的x结束程序!") else: print(input("您输入的密码不对,请重新输入:"))test1()

在这里插入图片描述

注意:Python中in的操作符只能用于判断键是否存在于字典中,无法用于判断值。

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

你可能感兴趣的文章
Java 和 Object-c的区别
查看>>
Windows环境下Android NDK环境搭建
查看>>
NDK Build 用法(NDK Build)
查看>>
Android NDK开发起步Hello Jni
查看>>
[已解决]AutoCompleteTextView 不显示匹配的内容,因为将空的内容添加进去了
查看>>
object c的浅拷贝(地址拷贝)和深拷贝(对象拷贝)
查看>>
object c son字符串的解析
查看>>
object c 非常强大的类的属性复制kcv键值码赋值
查看>>
Java中普通代码块,构造代码块,静态代码块区别及代码示例
查看>>
iOS 第4课 UILabel
查看>>
[已解决]junit.framework.AssertionFailedError: No tests found in
查看>>
“服务器端跳转”和“客户端跳转”的区别
查看>>
Datatables基本初始化——jQuery表格插件
查看>>
Servlet监听器——实现在线登录人数统计小例子
查看>>
Oracle笔记——简单查询语句 Oracle入门
查看>>
基于Hibernate和Struts2的用户管理系统小案例
查看>>
打开.class文件的方法
查看>>
基于windows平台Git+GitHub+Hexo搭建个人博客(一)
查看>>
基于windows平台Git+GitHub+Hexo搭建个人博客(二)
查看>>
Windows平台下SVN安装配置及使用
查看>>