【记录】Python3|将元组/列表/集合或字典解析成多个参数传入函数,以及定义可变参数函数
【说人话版】
将元组/列表/集合或字典直接作为多个函数参数传入,只需要添加*
或**
即可。
样例如下。
在Python中,将元组、列表、集合或字典作为多个函数参数传入是一种非常方便的技巧,可以帮助我们在编写代码时更加简洁高效。使用*
或**
语法可以让Python将这些数据结构解析为多个参数,以便我们在函数调用时更方便地使用它们。
这种技巧在很多场景中都非常有用。例如,我们可以使用它来将一个列表中的所有元素传递给一个函数,或者将一个字典中的所有键-值对作为参数传递给一个函数。下面是一些例子:
元组/列表/集合
添加*
。如:
# 使用 * 将元组/列表/集合解析成多个参数传入函数
def my_func(a, b, c):
print(f"a = {a}, b = {b}, c = {c}")
my_tuple = (1, 2, 3)
my_func(*my_tuple) # 输出:a = 1, b = 2, c = 3
# 使用 * 将列表解析成多个参数传入函数
my_list = [4, 5, 6]
my_func(*my_list) # 输出:a = 4, b = 5, c = 6
# 使用 * 将集合解析成多个参数传入函数
my_set = {7, 8, 9}
my_func(*my_set) # 输出:a = 7, b = 8, c = 9
运行结果:
【说人话版】
如上代码所示,这个函数需要3个参数,但我只传入了一个元组/列表/集合变量,不需要写成my_func(my_turple[0], my_turple[1], my_turple[2])
。方便。
上面的代码演示了如何使用将不同的数据结构解析成多个参数传递给函数。这种方法非常方便,可以让我们在不改变函数参数列表的情况下,将多个参数传递给函数。
需要注意的是,使用时,传入的参数必须是可迭代对象,如元组、列表、集合等。另外,需要保证传入的参数个数与函数参数个数相同,否则会出现TypeError错误。在这种情况下,可以使用可变参数函数来接收任意数量的参数。
字典
添加**
,可以做到一一映射。
def test_func(a, b, c):
print(a)
print(b)
print(c)
test_dict={
'a':123,
'b':456,
'c':789
}
test_func(**test_dict)
运行结果:
另,如果添加*
,就只解析字典的键值。运行结果:
可变参数
一样的,*
表示元组,**
表示字典。
定义可变参数的函数的时候,**
字典参数得放在*
元组参数后面,且放在参数列表最后。
如:
def test_func(a, *b, **c):
print(a)
print(b)
print(c)
test_dict={
'a':123,
'b':456,
'c':789
}
test_func(12, 34, 56, 78, c=1, b=2)
运行结果:
可以看到,c和b在结尾被赋值,但其实不影响变量,而是都作为c被打印出来。
而除了第一个参数,其他没有xxx=xxx
形式的都被识别为b打印了出来。
【记录】Python3|将元组/列表/集合或字典解析成多个参数传入函数,以及定义可变参数函数的更多相关文章
- 列表 list 容器类型数据(str字符串, list列表, tuple元组, set集合, dict字典)--->元组 tuple-->字符串 str
# ### 列表 list 容器类型数据(str字符串, list列表, tuple元组, set集合, dict字典) # (1)定义一个列表 listvar = [] print(listvar, ...
- Python 基础补充(一) 列表、元组、集合、字典的区别和相互转换
一.列表.元组.集合.字典的区别 列表 元组 集合 字典 英文 list tuple set dict 可否读写 读写 只读 读写 读写 可否重复 是 是 否 是 存储方式 值 值 键(不能重复) ...
- python 数据类型: 字符串String / 列表List / 元组Tuple / 集合Set / 字典Dictionary
#python中标准数据类型 字符串String 列表List 元组Tuple 集合Set 字典Dictionary 铭记:变量无类型,对象有类型 #单个变量赋值 countn00 = '; #整数 ...
- 5. Python数据类型之元组、集合、字典
元组(tuple) 元组创建很简单,只需要在小括号中添加元素,并使用逗号隔开即可.与列表不同的是,元组的元素不能修改.如下代码所示: tup1 = () tup2 = (1) tup3 = (1,) ...
- Python中列表、元组、集合、字典
Python 列表(List) 列表是最常用的Python数据类型: 列表中的数据项不需要具有相同的类型: 列表也叫做数组,定义时使用[]: 通过下标访问列表中的元素,下标从 0 开始计数 列表的增 ...
- python3_列表、元组、集合、字典
列表list #列表的基本操作 >>> a=[] #创建空列表 >>> a = [0,1,2,3,4,5] #创建列表并初始化,列表是[]包含由逗号分隔的多个元素组 ...
- 06_Python的数据类型3元组,集合和字典_Python编程之路
上一节跟大家讲了Python的列表,当然不是完整的讲完,后续我们还会提到,这一节我们还是来讲Python的数据类型 首先要讲到的就是元组 元组其实拥有列表的一些特性,可以存储不同类型的值,但在某些方面 ...
- Python的数据类型3元组,集合和字典
首先要讲到的就是元组 元组其实拥有列表的一些特性,可以存储不同类型的值,但在某些方面元组又比不上列表 定义一个元组,你可以不用加‘ [ ] ’,你只需用逗号隔开即可 例如 1 2 3 4 5 6 7 ...
- 深浅拷贝 集合(定义,方法) 函数(定义,参数,return,作用域) 初识
深浅拷贝 在python中浅拷贝 a=[1,2,3,4,]b=a.copy()b[0]='3333'print(a) #[1, 2, 3, 4] 浅拷贝一层并不会对a造成变化print(b) #[33 ...
- Python3基础知识之元组、集合、字典
1.元组 元组特点元组是不可变的两个元组可以做加法,不能做减法 元组的方法 >>> S('a', 'b', 'c', 'd', 'e')>>> S=('a','b' ...
随机推荐
- mac安装spark
一.基础信息 spark版本:spark-3.1.3-bin-hadoop3.2 hadoop版本:hadoop-3.2.1 scala版本:scala-2.11.12 建议3.12版本 下载地址: ...
- Luogu P10581 蓝桥杯2024国A 重复的串 题解 [ 蓝 ] [ KMP ] [ 动态规划 ] [ 矩阵加速 ]
重复的串:KMP + dp 的板子题. 暴力 dp 设计 \(dp_{k,i,j}\) 表示主串匹配到第 \(i\) 位,模式串有 \(j\) 位已匹配完成,目前已完成 \(k\) 次匹配的方案数. ...
- 探秘Transformer系列之(3)---数据处理
探秘Transformer系列之(3)---数据处理 接下来三篇偏重于工程,内容略少,大家可以当作甜点 _. 0x00 概要 有研究人员认为,大模型的认知框架看起来十分接近卡尔·弗里斯顿(Karl F ...
- 15. Docker容器监控之(CAdvisor+InfluxDB+Granfana)的详细安装和常规使用
15. Docker容器监控之(CAdvisor+InfluxDB+Granfana)的详细安装和常规使用 @ 目录 15. Docker容器监控之(CAdvisor+InfluxDB+Granfan ...
- [POI2014] HOT-Hotels 加强版题解
好好好,太好了这题,太好了. 首先有一点是很明显的: 对于一个合法的答案 \((i,j,k)\),必有一点 \(p\),使 \(dis(i,p)=dis(j,p)=dis(k,p)\) 且三点到 \( ...
- 【小技巧】如何使上线前初始化数据的SQL脚本可测试?
背景 有时候,我们在上线某些特性时,可能需要提前初始化数据,才能使功能正常运作. 初始化数据,常用的有以下两种途径: 单纯为了这个初始化数据,开发一个Excel文件导入功能 开发人员维护SQL语句初始 ...
- 傻妞教程——如何获取天行数据服务的Key
在傻妞插件列表中,比如油价查询.舔狗语录等需要申请天行KEY,才能使用 1.打开 天行数据官网注册登录 2.在控制台首页完成实名认证 3.在左侧数据管理里面获取你的秘钥Key 4.回到傻妞已安装的插件 ...
- Hive - [08] 数据仓库物理模型设计
分区 分区是将表的数据按照某个列的值进行划分和存储的一种方式.通过分区,可以将数据按照特定的维度进行组织,提高查询效率和数据管理的灵活性. 一.分区的优势 提高查询性能:通过分区,可以将数据按照特定的 ...
- python进程 - 调试报错 you are not using fork to start your child processes
在走这段代码的时候报错了,记录一下我的调试过程,感觉有个思路来走就挺好的. 1.报错与解决 文件名字:ClassifierTest.py import torch import torchvision ...
- 【数值计算方法】数值积分&微分-python实现
目录 数值积分 1. 引言 2. 几个常用积分公式及其复合公式 2.1 求积公式 2.2 代数精度 2.3 复合积分 2.4 常用积分公式的python实现 3. 变步长方法与外推加速技术 4. 牛顿 ...