使用Python将数组的元素导出到变量中(unpacking)
解决的问题
需要将数组(list)或元组(tuple)中的元素导出到N个变量中。
解决的方案
任何序列都可以通过简单的变量赋值方式将其元素分配到对应的变量中,唯一的要求就是变量的数量和结构需要和序列中的结构完全一致。
p = (1, 2) x, y = p # x = 1 # y = 2 data = ['google', 100.1, (2016, 5, 31)] name, price, date = data # name = 'google' # price = 100.1 # date = (2016, 5, 31) name, price, (year, month, day) = data # name = 'google' # price = 100.1 # year = 2016 # month = 5 # day = 31
如果变量结构和元素结构不一致,你将会遇到以下错误:
p = (1, 2) x, y, z = p Traceback (most recent call last): File "<pyshell#12>", line 1, in <module> x, y, z = p ValueError: not enough values to unpack (expected 3, got 2)
其实这样的操作不限于元组和数组,在字符串中也是可以用的。Unpacking支持大多数我们常见的序列,比如文件迭代,各种生成器等等。
s = 'Hello' a,b,c,d,e = s # a = 'H' # b = 'e'
如果导出过程中你想丢掉一些元素,其实Python并不支持这样的语法,不过你可以指定一些不常用的变量来达到你的目的。
data = ['google', 100.1, (2016, 5, 31)] name, _, (_,month,_) = data # name = 'google' # month = '5' # other fileds will be discarded
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能有所帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
Python 比较两个数组的元素的异同方法
通过set()获取两个数组的交/并/差集: print set(a).intersection(set(b)) # 交集 print set(a).union(set(b)) # 并集 print set(a).difference(set(b)) # 差集,在a中但不在b中的元素 print set(b).difference(set(a)) # 差集,在b中但不在a中的元素 以上这篇Python 比较两个数组的元素的异同方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多
-
python实现数组插入新元素的方法
本文实例讲述了python实现数组插入新元素的方法.分享给大家供大家参考.具体如下: li=['a', 'b'] li.insert(0,"c") 输出为:['c', 'a', 'b'] li=['a', 'b'] li.insert(-1,"c") 输出为:[ 'a','c', 'b'] 希望本文所述对大家的Python程序设计有所帮助.
-
python实现判断数组是否包含指定元素的方法
本文实例讲述了python实现判断数组是否包含指定元素的方法.分享给大家供大家参考.具体如下: python判断数组是否包含指定的元素的方法,直接使用in即可,python真是简单易懂 print 3 in [1, 2, 3] # membership (1 means true inventory = ["sword", "armor", "shield", "healing potion"] if "healin
-
python简单获取数组元素个数的方法
本文实例讲述了python简单获取数组元素个数的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: mySeq = [1,2,3,4,5] print len(mySeq) 运行结果如下: 5 希望本文所述对大家的Python程序设计有所帮助.
-
python获取元素在数组中索引号的方法
本文实例讲述了python获取元素在数组中索引号的方法.分享给大家供大家参考.具体如下: 这里python是通过index方法获取索引号的 li = ['a', 'b', 'new', 'D', 'z', 'example', 'new', 'two', 'elements'] print li.index("example") print li.index("new") print li.index("z") print "c&quo
-
Python 检查数组元素是否存在类似PHP isset()方法
PHP中有isset方法来检查数组元素是否存在,在Python中无对应函数. Python的编程理念是"包容错误"而不是"严格检查".举例如下: 复制代码 代码如下: Look before you leap (LBYL): if idx < len(array): array[idx] else: #handle this Easier to ask forgiveness than permission (EAFP): try: array[idx] ex
-
Python中变量交换的例子
Python追求简洁,诞生不少运算赋值规则,力求从简,其中就包括两个或者多个变量交换值. 普通语言中 复制代码 代码如下: # 声明变量 a=50 b=10 # 开始交换,先把其中一个值赋给临时变量,然后才能实现交换变量. tmp = a a = b b = tmp 在Python中,实现两个变量值交换非常方便 复制代码 代码如下: # 声明变量 a=50 b=10 # 开始交换变量 a,b = b,a 甚至可以多个变量同时交换 复制代码 代码如下: a=50 b=10 c=20 c,b,a =
-
Python判断变量是否为Json格式的字符串示例
Json介绍 全名JavaScript Object Notation,是一种轻量级的数据交换格式.Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式.现在也常用于http请求中,所以对json的各种学习,是自然而然的事情. 本文主要介绍的是利用Python判断变量是否为Json格式的字符串,对大家日常学习工作具有一定的参考价值,下面话不多说,直接来看代码吧. 示例代码如下 # -*- coding=utf-8 -*- import json def check_json_
-
Python实现变量数值交换及判断数组是否含有某个元素的方法
本文实例讲述了Python实现变量数值交换及判断数组是否含有某个元素的方法.分享给大家供大家参考,具体如下: 本来,这两个问题都属于的编程入门简单得不能再简单的问题,根本就不值得写篇记录来记录的. 一.变量数值交换 先说变量数值交换,从C语言开始,我们就知道要先设置一个临时变量,再把某元素的值覆盖此临时变量,避免临时覆盖等,如果不设置临时变量,还有位运算的交换形式 然而Python中根本就不用这么复杂,如果要交换变量e1,e2彼此的值,就下面一行代码就足矣: e1,e2=e2,e1; 比如,如下
-
Python判断变量是否已经定义的方法
Python判断变量是否已经定义是一个非常重要的功能,本文就来简述这一功能的实现方法. 其实Python中有很多方法可以实现判断一个变量是否已经定义了.这里就举出最常用的两种作为示例,如下所示: 方法一:try except方法: def isset(v): try : type (eval(v)) except : return 0 else : return 1 用法: if isset('user_name'): print 'user_name is defined' else prin
-
Python中请使用isinstance()判断变量类型
一.isinstance() 在Python中可以使用type()与isinstance()这两个函数判断对象类型,而isinstance()函数的使用上比type更加方便. 复制代码 代码如下: # coding=utf-8 a = 10 def b(): pass print isinstance(a,(int,str)) print isinstance(a,(float,str)) print isinstance(b,(str,int)) class c:
-
Python交换变量
如: 复制代码 代码如下: a, b, c = b, c, a 来个复杂一点的例子,再来一顿家喻户晓的"冒泡排序"吧: 复制代码 代码如下: array = [1, 2, 5, 3, 6, 8, 4] for i in range(len(array) - 1, 1, -1): for j in range(0, i): if array[j] > array[j + 1]: array[j], array[j + 1] = array[j + 1], array[j] prin
随机推荐
- jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
- Windows Vista 宽屏LCD提供的支持 与设置方法第1/2页
- Java中线程用法总结
- Java实现FTP批量大文件上传下载篇1
- Oracle Listener 动态注册 与 静态注册
- Python开发的单词频率统计工具wordsworth使用方法
- c病毒程序原理分析(防范病毒 c语言小病毒示例)
- Android实现TextView中文字链接的4种方式介绍及代码
- 详解java调用ffmpeg转换视频格式为flv
- 两种简单的跨域方法(jsonp、php)
- 让PHP显示Facebook的粉丝数量方法
- C 语言进制之间的转换
- jQuery Ajax之$.get()方法和$.post()方法
- JS简单实现数组去重的方法示例
- Vue.js组件间的循环引用方法示例
- Python实现的计算器功能示例
- jmeter 在linux服务器的安装和运行教程图解
- Android GridView实现横向列表水平滚动
- vue 根据选择条件显示指定参数的例子
- python实现把两个二维array叠加成三维array示例