使用采集参数——字典存储查找人名

简介: 使用采集参数——字典存储查找人名

采集参数

星号只在定义函数(允许使用不定数目的参数)或者调用时才有用

星号的意思就是,收集多余的位置参数,如果不提供收集的元素,params 就是个空元祖

一颗星的采集参数

def print_params(*params):
    print(params)
def print_params_2(title,*params):
    print(title)
    print(params)
def in_the_middle(x,*y,z):
    print(x,y,z)

两颗星的采集参数

处理关键字参数的 “收集” 操作,返回的是字典而不是元祖

def print_params_3(**params):
    print(params)

参数采集逆过程:

**用来返回字典

def helloc(greeting='hello',name='world'):
    print('{},{}!'.format(greeting,name))

案例

上一节的使用字典存储查找人名

可以将参数改为采集参数

改为采集参数后,函数的使用将更加灵活

def init(data):
    data['first'] = {}
    data['middle'] = {}
    data['last'] = {}
def lookup(data, label, name):
    return data[label].get(name)
def store(data, *full_names):
    for full_name in full_names:
        names = full_name.split()
        if len(names) == 2: names.insert(1, '')
        labels = 'first', 'middle', 'last'
        for label, name in zip(labels, names):
            people = lookup(data, label, name)
            if people:
                people.append(full_name)
            else:
                data[label][name] = [full_name]

相关文章
|
3月前
字典,列表和字符串之间的转化示例
【10月更文挑战第13天】 字典,列表和字符串之间的转化示例
50 0
|
8月前
|
存储
函数——使用字典存储查找人名
函数——使用字典存储查找人名
|
8月前
|
索引
小案例——搜索字典联系人key查找信息
小案例——搜索字典联系人key查找信息
|
运维 Shell Python
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(一)
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)
140 0
查找单词个数案列实现(字符串流)
查找单词个数案列实现(字符串流)
44 0
|
开发者 索引 Python
#PY小贴士# 字典可以通过序号索引来访问?
不过在实际开发中,除非有特殊需求,或者和你的合作开发者有仇,否则不太建议用这种方式来设定字典的键。
|
运维 Shell Perl
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(二)
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(二)
137 0
|
开发工具 数据安全/隐私保护 git
信息收集 -- 字典生成(pydictor)
信息收集 -- 字典生成(pydictor)
157 0
信息收集 -- 字典生成(pydictor)
有一个长度是10的数组,数组内有10个人名,要求去掉重复的人名,并输出
有一个长度是10的数组,数组内有10个人名,要求去掉重复的人名,并输出
329 0