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

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

采集参数

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

星号的意思就是,收集多余的位置参数,如果不提供收集的元素,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]

相关文章
|
7月前
|
数据处理
利用Stream流将取到的对象List<对象>形式数据进行分组统计转变成Map<分组条件,数量统计>形式
利用Stream流将取到的对象List<对象>形式数据进行分组统计转变成Map<分组条件,数量统计>形式
63 0
|
2月前
字典,列表和字符串之间的转化示例
【10月更文挑战第13天】 字典,列表和字符串之间的转化示例
42 0
|
5月前
|
存储 语音技术 索引
语音识别,列表的定义语法,列表[],列表的下标索引,从列表中取出来特定的数据,name[0]就是索引,反向索引,头部是-1,my[1][1],嵌套列表使用, 列表常用操作, 函数一样,需引入
语音识别,列表的定义语法,列表[],列表的下标索引,从列表中取出来特定的数据,name[0]就是索引,反向索引,头部是-1,my[1][1],嵌套列表使用, 列表常用操作, 函数一样,需引入
|
7月前
|
存储
函数——使用字典存储查找人名
函数——使用字典存储查找人名
|
7月前
|
索引
小案例——搜索字典联系人key查找信息
小案例——搜索字典联系人key查找信息
|
JSON 数据格式
JSON转数组后,筛选分组并输出,判断键值键值是否存在补0
JSON转数组后,筛选分组并输出,判断键值键值是否存在补0
63 0
|
开发者 索引 Python
#PY小贴士# 字典可以通过序号索引来访问?
不过在实际开发中,除非有特殊需求,或者和你的合作开发者有仇,否则不太建议用这种方式来设定字典的键。
|
算法 Linux Python
SGAT丨hapmap 格式hmp.txt文件转换,基因型和表型文件样品关联筛选提取的快速方法
SGAT丨hapmap 格式hmp.txt文件转换,基因型和表型文件样品关联筛选提取的快速方法
|
PHP
php数组学习(1):固定格式的字符串分割成数组后内容去重
php数组学习(1):固定格式的字符串分割成数组后内容去重
56 0
|
JSON PHP 数据格式
php数组学习(2):判断并过滤JSON字符串中不包含指定键名的解决方案
php数组学习(2):判断并过滤JSON字符串中不包含指定键名的解决方案
81 0