Python解压可迭代对象赋值给多个变量的示例分析

技术Python解压可迭代对象赋值给多个变量的示例分析今天就跟大家聊聊有关Python解压可迭代对象赋值给多个变量的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有

今天,我将和大家谈谈Python解压缩可迭代对象并将其分配给多个变量的示例分析,很多人可能不太理解。为了让大家更好的了解,边肖为大家总结了以下内容,希望大家能从这篇文章中有所收获。

问题描述

现在有一个包含n个元素的可迭代对象。如何解压其中的元素,同时赋给n个变量?如何同时给m个变量(MN)赋值?

解决方案

1.将N个元素赋值给N个变量,可以通过如下一个简单的赋值语句实现。

p=[4,5]

x,y=p

打印(x,y)

#输出结果:45

数据=[‘测试’,1,3.14,(2021,12,1)]

a、b、c、d=数据

印刷品(a、b、c、d)

#输出结果:测试13.14(2021年12月1日)

a,b,c,(年,月,日)=数据

打印(a、b、c、年、月、日)

#输出结果:Test13.142021121

2.如何将N个元素赋值给M个变量(MN)?

当变量个数小于可迭代对象元素个数时,程序会抛出ValueError。这时候可以通过Python的星号表达式来解决。

数据=[1,2,3,4,5]

a,b,*c,d=数据

印刷品(a、b、c、d)

#输出结果:12[3,4]5需要注意的是,上面提取的C变量总是类型列表,与C的元素个数无关(包括0)。

00-1010迭代解压缩语法的几种应用场景:

例如00-1010:

s=’你好’

a,b,c,d,e=s

打印(a、b、c、d、e)#输出结果:h、e、l、o

总结

记录=(‘ACME ‘,50,123.45,(12,18,2012))

名称,*_,(*_,年份)=记录

打印(姓名、年份)”’

输出:

ACME 2012

”’

1.任何可迭代对象都可以实现这种解压赋值,包括列表、元组、字符串、文件对象、迭代器和生成器。

记录=[

(‘ foo ‘,1,2),

(“酒吧”,“你好”),

(‘ foo ‘,3,4),

]

defprint_foo(x,y):

打印(‘ foo ‘,x,y)

defprint _ bar :

打印(条形)

福塔格,* argsinrecords:

iftag==’foo’:

print_foo(*args)

eliftag==’bar’:

print_bar(*args)’ ‘ ‘

输出:

foo 1 2

酒吧你好

foo 3 4

”’

2.有时候,你想解压一些元素后丢弃它们,可以使用一个普通的废弃名称,比如_或者ign(ignore)。

行=’ nobody : * :-2:-2: unprivilegeduser :/var/empty :/usr/bin/false ‘

uname,*field,homedir,sh=line.split(‘: ‘)

打印(uname,homedir,sh)’ ‘ ‘

输出:

无人/var/空/usr/bin/false

”’

看完上面的内容,你对Python解压可迭代对象并分配给多个变量的示例分析有了更好的理解吗?如果您想了解更多知识或相关内容,请关注行业资讯频道,感谢您的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/134017.html

(0)

相关推荐

  • 1楼,为什么有人说买房子不要买一楼

    技术1楼,为什么有人说买房子不要买一楼为什么有人说买房子不要买一楼1楼?都有优势和劣势,它的优势是热天很凉快,不用开多少空调,可以在一楼做生意开个超市,可以在一楼,搞美容美发,也可以搞快递。不用拿铺面租金。老人孩子上下楼

    生活 2021年10月24日
  • 如何解释show engine innodb status中锁部分的内容

    技术如何解释show engine innodb status中锁部分的内容本篇文章给大家分享的是有关如何解释show engine innodb status中锁部分的内容,小编觉得挺实用的,因此分享给大家学习,希望大

    攻略 2021年11月16日
  • 部署SD-WAN之前要执行的三个步骤分别是什么

    技术部署SD-WAN之前要执行的三个步骤分别是什么部署SD-WAN之前要执行的三个步骤分别是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。随着企业制

    攻略 2021年11月24日
  • gitlab关闭ssl验证(gitlab 扫描)

    技术仍然会使用eolinker扫描GitLab代码注释自动本篇文章给大家分享的是有关仍然会使用eolinker扫描GitLab代码注释自动,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不

    攻略 2021年12月24日
  • 如何解决vue不是内部或外部命令的问题

    技术如何解决vue不是内部或外部命令的问题小编给大家分享一下如何解决vue不是内部或外部命令的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧

    攻略 2021年10月27日
  • Oracle数据库标准的SYSAUX表空间清理方法是什么

    技术Oracle数据库标准的SYSAUX表空间清理方法是什么这篇文章将为大家详细讲解有关Oracle数据库标准的SYSAUX表空间清理方法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相

    攻略 2021年11月29日