可以使用序列解包功能对多个变量进行赋值。

序列解包也可以用于列表和字典,但对字典使用时,默认是对字典的“键”进行操作;

如果需要对“键:值”进行操作,需要使用字典items()方法;

如果需要对字典的“值”进行操作,则需要使用字典的values()方法明确指定。

使用序列解包可以方便同时遍历多个序列

使用内置函数enumerate()

对字典的操作也可以使用序列解包

序列解包还支持下面这种用法:

在计算方面,

*表示乘法,**表示指数幂运算

作为函数的参数,

*用于参数前面,表示传入的多个参数将按照元组的形式存储,是一个元组;

**用于参数前则表示传入的(多个)参数将按照字典的形式存储,是一个字典。

*args必须要在**kwargs,否则将会提示语法错误"SyntaxError: non-keyword arg after keyword arg."

def func(*args):print(type(args))for index, item in enumerate(args):print("{}:{}".format(index, item))def function(**kwarg):print(type(kwarg))for key, value in kwarg.items():print("{}:{}".format(key, value))func(1,2,34,'a','anc')function(a = "123454",b = "b",c = "123")'''
输出结果:
<class 'tuple'>
0:1
1:2
2:34
3:a
4:anc
<class 'dict'>
a:123454
b:b
c:123
'''

【Python】序列解包 and * 和 ** 的区别相关推荐

  1. python序列解包_python中解包

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 序列解包(sequence unpacking)是python中非常重要和常用的 ...

  2. 详解Python序列解包(5)

    如果一个函数需要以多种形式来接收参数,定义时一般把位置参数放在最前面,然后是默认值参数,接下来是一个星号的可变长度参数,最后是两个星号的可变长度参数:调用函数时,一般也按照这个顺序进行参数传递.调用函 ...

  3. 详解Python序列解包(4)

    本文主要介绍调用函数传递参数时序列解包的用法.在定义函数时在形参前面加2个星号**表示可变长度参数,可以收集若干关键参数形式的参数传递并存放到一个字典之中.与之相对,如果实参是个字典,可以使用两个星号 ...

  4. 详解Python序列解包(3)

    本文主要介绍调用函数传递参数时序列解包的用法.在调用函数传递参数时,可以在实参序列前加一个星号*进行序列解包,或在实参字典前加两个星号**进行解包,本文介绍第一种用法,第二种用法后面再单独发文介绍. ...

  5. python 链式比较 2._特色的Python序列解包、链式赋值、链式比较

    一.序列解包 序列解包(或可迭代对象解包):解包就是从序列中取出其中的元素的过程,将一个序列(或任何可迭代对象)解包,并将得到的值存储到一系列变量中. 一般情况下要解包的序列包含的元素个数必须与你在等 ...

  6. python 序列解包(解压缩)

    所学的解压缩 如果我们给出一个列表,我们需要一次性取出多个值,我们是不是可以用下面的方式实现呢? name_list = ['nick', 'egon', 'jason'] x = name_list ...

  7. python序列解包求水仙花数_790.琉璃菜的糖浆欠火或过火,都会影响成品的( )。

    [填空题]kidney [填空题]管,隧道 [其它]1.随机产生20个1-100的整数, 并创建列表,用切片提取偶数位置的元素 2.随机产生5个元素( 0,1,2,3,4),然后对1,3元素进行4次方 ...

  8. Python序列解包

    一.什么是序列解包? 它是Python3.0提供的语法糖,有助于简化代码.更好的理解代码.如下例子: >>> x,y,z = (1, 2, 3) >>> x 1 & ...

  9. python *args和**kwargs以及序列解包

    DAY 8. *args和**kwargs *args:多值元组,**kwargs多值字典,他们是python函数传参时两个特殊的参数,args和kwargs并不是强制的,但习惯使用这两个,如果在函数 ...

最新文章

  1. 面试官:为什么要尽量避免使用 IN 和 NOT IN 呢?
  2. .net开发框架比较
  3. Go语言环境安装,验证go语言环境、使用文本编辑器编写一个go hello world,Go lang IDE安装,在golang中新建一个go程序
  4. C语言abc输出最小值改错题,C语言程序设计
  5. 0419 一些不错的UI作品,以后陆续更新
  6. mysql创建虚拟网卡_创建启动虚拟网卡
  7. java color类 蓝色_java color类简介
  8. sql server父节点_将新节点添加到现有SQL Server Always On可用性组中
  9. 神龙神龙你擦亮眼,阿里巴巴要“上天”!
  10. 网络安全设备Bypass功能分析
  11. 西门子、RA、施耐德、三菱、汇川、和利时:中国PLC市场及产业链分析
  12. 计算机用几个字节储存,GB2312编码的字符在计算机中存储时使用几个字节
  13. 文件关联后即时生效代码
  14. java super extend 区别_Java泛型中extends和super的区别
  15. ps大图缩小让小图更清晰
  16. c语言200-500完数,C语言求完数(完全数)(详解版)
  17. MIT 操作系统 jos make grade出现no jos.out
  18. 考研面试常问问题汇总(包含答案)
  19. matlab常用函数与常用指令大全
  20. Postman+Newman命令运行

热门文章

  1. linux打开 root .m2,小辣椒M2 (LA-M2)获取ROOT权限教程,新手root必看
  2. linux查找以h结尾的文件,【linux_笔记】Linux_文件查找(find)详解特殊权限
  3. Scala程序设计:Java虚拟机多核编程实战(国内第一本Scala图书)
  4. [20180412]订阅+镜像切换
  5. spring-redis-data的一个坑
  6. esxi4.1使用IDE格式磁盘
  7. Android 多媒体综述
  8. OSS.Core基于Dapper封装(表达式解析+Emit)仓储层的构思及实现
  9. 【转】超简单利用UGUI制作圆形小地图
  10. linux内核SMP负载均衡浅析