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']

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

  • 相关阅读:
    [编程题] 数组中重复的数字
    [编程题] 用两个栈实现队列
    杜教筛学习笔记
    二次剩余学习小记
    Burnside引理和Polya定理简单入门
    6553. 【GDOI2020模拟4.11】人生
    6545. 【GDOI2020模拟4.8】 Exercise
    2020.4.5学军信友队趣味网络邀请赛总结
    51 Nod 1287 加农炮(单调队列思想+二分)
    51 Nod 1070 Bash游戏v4(斐波那契博弈)
  • 原文地址:https://www.cnblogs.com/yhcreak/p/5362564.html
Copyright © 2011-2022 走看看