zoukankan      html  css  js  c++  java
  • python 函数部分

    #初始化

    def init(data):

      data['first']={}

      data['middle']={}

      data['last']={}

    #查看条件

    def lookup(data,label,name):

      return data[label].get(name)

    def store(data,full_name):

      names=full_name.split()

      if len(names)==2:names.insert(1,'')

      labels='first','middle','last'

      for label,name in zip(labels,names):

        people.append(full_name)

      else:

        data[label][name]=[full_name]

    '''

    store函数执行以下步骤。

    (1)使用参数data和full_name进入函数,这两个参数呗设置为函数在外部获得的一些值

    (2)通过拆分full_name,得到一个叫做names的列表

    (3)如果names的长度为2,(只有首名和末名),那么插入一个空字符串作为中间名

    (4)强字符串'first'、'middle'和'last'作为元祖存储在labels中

    (5)使用zip函数联合标签和名字,对于每一个(label,name)对,进行以下处理:

      获得属于给定标签和名字的列表

      将full_name添加到列表中,或者插入一个需要的新列表

    >>>MyNames={}

    >>>init(MyNames)

    >>>store(MyNames,'Magnus Lie Hetland')

    >>>lookup(MyNames,'Middle','Lie')

    ['Magnus Lie Hetland']

    可以工作,再试试

    >>>store(MyNames,'Robin Hood')

    >>>store(MyNames,'Robin Locksley')

    >>>lookup(MyNames,'first','Robin')

    ['Robin Hood','Robin Locksley']

    >>>store(MyNames,'Mr.Gumby')

    >>>lookup(MyNames,'middle','')

    ['Robin Hood','Robin Locksley','Mr.Gumby']

    可以看到,如果默写人的名字、中间名或姓相同,那么结果中会包含所有这些人的信息

  • 相关阅读:
    微信小程序@bindgetuserinfo @bindgetphonenumber
    报错总结
    前端面试题
    关于vue ssr next服务端渲染
    【012】JavaSE面试题(十二):多线程(2)
    【011】JavaSE面试题(十一):多线程(1)
    [010]
    [009]
    [008]
    添加Lombok插件后调用Setter或Getter方法IDEA编译错误
  • 原文地址:https://www.cnblogs.com/yhcreak/p/5362564.html
Copyright © 2011-2022 走看看