| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 高渐飞 于 2018-7-16 15:19 编辑  
- <font size="3">#知识点总结
 
  
- #(1)字典由键(key)和对应值(value)成对组成,字典是Python唯一的一个映射类型;
 
 - #(2)映射:指两个元素的集之间元素相互“对应”的关系,类似C中的结构体
 
 - #(3)格式一般为 value[key.index("xxxx")]
 
 - #(4)元组小括号(),列表中括号[],字典大括号{}
 
 - #(5)字典是二维的,列表是一维的;序列是顺序索引,字典是精确索引
 
  
- #(6)新建dict字典的几种方法:
 
 - """ a.直接用中括号{}:
 
 -       i. d = {A:a,B:b}
 
 -           ii. d= {}
 
 -     b.使用dict
 
 -       i. d = dict()
 
 -       ii. d = dict(a = 'a',b = 'b')    #前面a输出时,引号会自己打
 
 -       iii. d = dict( zip([list1],[list2]))
 
 -       iv. d = dict({A:a,B:b})
 
 -       v. d = dict(( (cuple1),(cuple2) ))  #元组字典
 
 -       vi. dict里面只有一个变量    """
 
  
- #(7)字典dict常用方法:
 
 - """ a. d.fromkeys((1,2,3),'hello')  创建三个key1,2,3,其value都是hello.默认value为none
 
 -     b. d.get(key,[value])    查找,如果key在d里,返回d[key]即value;否则返回None,若传入value,此时返回value
 
 -     c. d.setdefault(key,[value]) 若有key,返回其value;否则新建一个key,其值默认设置为None,有value则设置value
 
 -     d. d.copy()      内存新建一个d,和直接赋值不一样,一者变另一者并不变
 
 -     e. d.update(d1)  按照d2更新d,有则改变;没有则不变
 
 -     f. d.pop(key)    把key里的值弹出    d.popitem(),随机弹出一个item值,实际上弹出的确实为最后一个值.
 
 -     g. d[key] = value   给key赋值,如果没有key,则新建一个key再赋值
 
 -     h. d.keys() d.values(),d.items(),用于遍历d的键,值,项目.
 
 -     i. d.clear()   清空字典d,相当于d={}; del d[key],清除某个项   """
 
  
 
 
- #练习部分
 
  
- #1.商标与标语相对应的列表编写
 
 - brand = ['李宁','TESLA']
 
 - slogan = ['一切皆有可能', 'Dream and Future']
 
 - print('李宁的口号是:',slogan[brand.index('李宁')])
 
  
- #2.字典的创建及元素的访问
 
 - dict1 = {'李宁':'一切皆有可能', 'TESLA':'Dream and Future'}   #字典根据键值key来索引元素
 
 - print('李宁的口号是:', dict1['李宁'])    #字典的标志为大括号{}和key与value之间的冒号
 
 -                                                 
 
 - dict2 = {1:'one', 2:'two', 3:'three'}   #创建新的字典
 
 - print(dict2[2])       #以标号索引
 
  
- dict3 = {}      #创建空的字典
 
 - print(dict3)
 
  
- #3.创建元组字典
 
 - dict4 = dict( (('F',70), ('i',105), ('s',115), ('h',104), ('C',67)) )  #元组( , )
 
 - print(dict4)
 
  
- #4.用关键字参数创建字典
 
 - dict5 = dict(TESLA='Dream and Future',李宁='一切皆有可能')  #大括号搭配冒号,小括号搭配
 
 - print(dict5)
 
  
- #5.改变字典中的对应值
 
 - dict5['TESLA'] = 'Where there is a dream, there is a future'   #通过key索引
 
 - print(dict5)
 
  
- #6. 增加字典元素
 
 - dict5['耐克'] = 'Just do it'
 
 - print(dict5)
 
  
- #7.综合练习
 
 - print('''
 
 - |--- 欢迎进入通讯录程序---|
 
 - |--- 1:查询联系人资料  ---|
 
 - |--- 2.插入新联系人    ---|
 
 - |--- 3.删除已有联系人  ---|
 
 - |--- 4.退出通讯录程序  ---|
 
 - ''')
 
  
- book = {}   #建立空字典
 
  
- while True:
 
 -     code = int(input('请输入相关的指令代码:'))
 
 -     
 
 -     if code == 4:
 
 -         print('|--- 感谢使用通讯录程序 ---|')
 
 -         break
 
 -     
 
 -     name = input('请输入联系人姓名:')
 
 -     if code ==2:      #插入新联系人
 
 -         flag = 0
 
 -         for each in book:       #查找用户
 
 -             if each == name:
 
 -                 flag = 1        #用户在通讯录中,key为each
 
 -                 
 
 -         if flag == 1:
 
 -             print('您输入的用户名在通讯录中已存在 --> ',each,':',book[each])
 
 -             choose = input('是否修改用户资料(YES/NO):')
 
 -             if choose == 'YES' or ' yes':
 
 -                 book[each] = input('请输入用户新联系电话:')
 
 -             else:
 
 -                     print('好的')
 
 -         else:
 
 -             phone = input('请输入联系人电话:')   #插入新联系人的联系方式
 
 -             book[name] = phone
 
 -         
 
 -     if code ==1:      #查询联系人资料
 
 -         print(name,' : ',book[name])
 
  
-     if code == 3:     #删除已有联系人
 
 -         flag = 0
 
 -         for each in book:
 
 -             if each == name:
 
 -                 flag = 1
 
 -                 
 
 -         if flag == 0:
 
 -             print('要删除的对象不存在!')
 
 -         else:
 
 -             del book[name]    #类似列表,可以删除元素
 
 -             print(name,'已删除!')
 
 -             
 
 -     print('\n')
 
  
- #8.综合练习2
 
 - def newuser(ssid):
 
 -     while ssid in user:
 
 -         ssid = input('此用户名已经被使用,请重新输入:')
 
 -     user[ssid] = input('请输入密码:')  #直接修改对应值
 
 -     print('注册成功,赶紧试试登录吧0.0')
 
  
- def login(ssid):
 
 -     while ssid not in user:
 
 -         ssid = input('您输入的用户名不存在,请重新输入:')
 
 -     psw = input('请输入密码:')
 
 -     while psw != user[ssid]:      #根据键值key来索引
 
 -         psw = input('密码不正确,请重新输入:')
 
 -     print('登陆成功,欢迎进入XXXX系统')
 
  
- user = dict()   #创建新字典
 
  
- while True:
 
 -     print('''
 
 - |--- 新建用户:N/n---|
 
 - |--- 登录账户:E/e---|
 
 - |--- 退出程序:Q/q---|
 
 - ''')
 
 -     
 
 -     code = input('请输入指令代码:')
 
 -     
 
 -     if code == 'n' or 'N':
 
 -         ssid = input('新建用户中,请输入用户名:')
 
 -         newuser(ssid)
 
 -     elif code == 'e' or 'E':
 
 -         ssid = input('登陆账户中,请输入用户名:')
 
 -         login(ssid)
 
 -     elif code == 'q' or 'Q':
 
 -         print("感谢您的使用,欢迎再次登陆~")
 
 -         break
 
 -     
 
 -         </font>
 
 
  复制代码 |   
 
 
 
 |