python中函数的序列传参,列表拆解传参、字典拆解传参

简介: python中函数的序列传参,列表拆解传参、字典拆解传参

一、函数的列表传参



列表举例 [“a”,”b”,”c”]

其实在使用列表传参的时候比较简单,只需要将实际的列表作为参数传入到调用的函数中的时候,在列表变量前加上一个星号*即可把某个列表拆分成多个参数传入到自定义函数中。如果调用的时候不加*那么多把列表看成一个整体传入。

举例:

list2=["a","b","c"]

def P2(*s1):

   for v in s1:

       print("<"+str(v)+">")

   pass


P2(*list2)


列表拆解传参的注意事项

注意:如果在自定义函数的时候,定义的参数前没有加*,那么我们在调用这个函数的时候,也不能在列表参数值前加*。其实在这里,我们如果想要将列表拆解成多个参数进行传入的时候,我们必须就是要定义一个可变参数,而定义可变参数的时候,我们必须要加上一个*

本质:列表拆解传入的时候 ,自定义函数的参数个数必须要支持实际拆解传参调用函数。


二、函数的字典传参



类似于列表拆解传参,只不过在传入的参数前面加上两个*,也即使说使用双星号**

举例:

dic1={"name":"老刘","work":"程序员","微信公众号":"编程创造城市"}

def D1(**d):

   print(d)


D1(**dic1)

注意:在定义函数的时候使用**进行定义的话,我们必须在调用的时候也要对传入的字典加上**


同样类似于列表的去星号方式

在定义字典作为参数的时候,如果定义的参数没有**,那么在调用这个函数的时候,也不要加上**,否则直接报错。


三、知识总结:



函数的序列传参


1.列表的拆解传参,可以使用*,也可以省略,具体要看传入的参数的数量作为本质条件。

2.掌握字典的拆解传参,使用**,具体使用方法类似于列表


本节源代码

#对比可变参数与列表传参的区别
#可变参数的情况
# def P(*s1):
#     for v in s1:
#         print("<"+str(v)+">")
#     pass
#
# list1=["a","b","c"]
#
# P(list1,"123","ggg")
#拆解列表传参的情况
# list2=["a","b","c"]
# def P2(*s1):
#     for v in s1:
#         print("<"+str(v)+">")
#     pass
#
# P2(*list2)
#
# #定义的时候不加星号的情况
# list3=["a","b","c"]
# def P3(s1):
#     for v in s1:
#         print("【"+str(v)+"】")
#
# P3(list3)
#定义参数数量和列表中的值的数量相同的情况
# list4=["a","b","c"]
# def P4(s1,s2,s3):
#     print("#"+s1+"#")
#     print("#" + s2 + "#")
#     print("#" + s3 + "#")
#
# P4(*list4)
#自定义字典的传入输出
# dic1={"name":"老刘","work":"程序员","微信公众号":"编程创造城市"}
# def D1(**d):
#     for s1 in d.items():
#         print(s1[0]+"="+s1[1])
#
# D1(**dic1)
dic2={"name":"老刘","work":"程序员","微信公众号":"编程创造城市"}
def D2(d):
    for s1 in d.items():
        print(s1[0]+"="+s1[1])
D2(dic2)

执行效果(注释的代码将没有显示效果):

name=老刘
work=程序员
微信公众号=编程创造城市
相关文章
|
23天前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
88 1
|
23天前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
133 1
|
23天前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
91 0
|
20天前
|
开发者 Python
Python列表推导式:优雅与效率的完美结合
Python列表推导式:优雅与效率的完美结合
271 116
|
20天前
|
Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
238 119
|
20天前
|
Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
|
15天前
|
索引 Python
Python 列表切片赋值教程:掌握 “移花接木” 式列表修改技巧
本文通过生动的“嫁接”比喻,讲解Python列表切片赋值操作。切片可修改原列表内容,实现头部、尾部或中间元素替换,支持不等长赋值,灵活实现列表结构更新。
89 1
|
20天前
|
大数据 开发者 Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
|
8月前
|
存储 人工智能 索引
Python数据结构:列表、元组、字典、集合
Python 中的列表、元组、字典和集合是常用数据结构。列表(List)是有序可变集合,支持增删改查操作;元组(Tuple)与列表类似但不可变,适合存储固定数据;字典(Dictionary)以键值对形式存储,无序可变,便于快速查找和修改;集合(Set)为无序不重复集合,支持高效集合运算如并集、交集等。根据需求选择合适的数据结构,可提升代码效率与可读性。
|
9月前
|
安全 数据处理 索引
深入探讨 Python 列表与元组:操作技巧、性能特性与适用场景
Python 列表和元组是两种强大且常用的数据结构,各自具有独特的特性和适用场景。通过对它们的深入理解和熟练应用,可以显著提高编程效率和代码质量。无论是在数据处理、函数参数传递还是多线程环境中,合理选择和使用列表与元组都能够使得代码更加简洁、高效和安全。
207 9

推荐镜像

更多
下一篇
开通oss服务