当前位置: 首页 > wzjs >正文

html网站模板建站太原网络营销公司

html网站模板建站,太原网络营销公司,目前比较流行的公司网站建站技术,外包软件任务 需要变换一个列表的列表,将行换成列,列换成行。 解决方案 需要一个列表,其中的每一项都是同样长度的列表,像这样 arr [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]列表推导提供了简单方便的方法以完成二维阵列的转换: print …

任务

需要变换一个列表的列表,将行换成列,列换成行。

解决方案

需要一个列表,其中的每一项都是同样长度的列表,像这样

arr = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]

列表推导提供了简单方便的方法以完成二维阵列的转换:

print [[r[col] for r in arr] for col in range(len(arr[0]))]
[[1,4,7,10],[2,5,8,11],[3,6,9,12]]

另一个更快也更让人困惑的方法(输出是一样的)是利用内建函数zip 实现的:

print map(list,zip(*arr))

讨论

本节展示了一种简洁而清晰的转换方式,还有一个更快速的备选方案。在需要简洁和清晰并存的时候,列表推导通常是很好的选择,而备选方案利用内建函数 zip 以另外一种方式达到目的,显得很晦涩难懂。

有时,你获得的数据的顺序是不正确的。举个例子,如果使用微软的ActiveX DataObjects(ADO)数据库接口,由于Python和微软的首选实现语言(VisualBasic)在对数组元素排序上的差异,Getrows方法返回的实际上是Python中的列。本节针对这种常见需求提出的两种解决方案,让你有机会在清晰和速度之间进行选择。

在列表推导的解决方案中,内层推导改变的是(从行中)选出的元素,外层推导则影响选择子(selector,即列)。由此实现转换。

而基于 zip 的解决方案,我们使用了*a语法将 arr 中的每个元素(行),根据顺序,作为分隔开的参数传递给 zip。zip 返回的是元组的列表,其实已经完成了转换。通过 map调用,我们可以对每个元组调用 list,以获得一个列表的列表。既然我们不能将 zip 的结果直接当做列表使用,我们可以通过使用itertools.izip 来得到一点改进(因为 izip 并不会将结果当做列表载入内存,而是每次生成一个子项):

import itertools
print map(list,itertools.izip(*arr))

不过,对这个例子而言,这一点速度提升也许并不能抵消它所带来的复杂性。

如果要转换非常巨大的数字阵列,可以考虑Numeric Python和其他的第三方包。NumericPython 支持一系列变换以及轴旋转,这些数学转换能把大多数人绕晕。

*args 和**kwds 语法

*args(*通常紧跟一个标识符,你会看到a或者 args 都是标识符)是Python用于接收或者传递任意基于位置的参数的语法。当你接收到一个用这种语法描述的参数时(比如你在函数的def语句中对函数签名使用了星号语法),Python 会将此标识符绑定到一个元组,该元组包含了所有基于位置的隐式地接收到的参数。当你用这种语法传递参数时,标识符可以被绑定到任何可选代对象(事实上,它也可以是任何表达式,并不必须是一个标识符,只要这个表达式的结果是一个可迭代对象即可)。

**kwds(标识符可以是任意的,通常用k或者kwds 表示)是Python 用于接收或者传递任意命名的参数的语法。(Python有时候会将命名参数称为关键字参数,它们其实并不是关键字——只是用它们来给关键字命名,比如pass、for或 yield,还有很多。不幸的是,这种让人疑惑的术语目前仍是这门语言及其文化的根深蒂固的一个组成部分。)当你接收到用这种语法描述的一个参数时(比如你在函数的def语句中对函数签名使用了双星号语法),Python 会将标识符绑定到一个字典,该字典包含了所有接收到的隐式的命名参数。当你用这种语法传递参数时,标识符只能被绑定到字典(其实它也可以是表达式,不一定是一个标识符,只要这个表达式的结果是一个字典即可)。

当你在定义或调用一个函数的时候,必须确保*a和**k 在其他所有参数之后。如果这两者同时出现,要将**k放在*a之后。

http://www.dtcms.com/wzjs/212913.html

相关文章:

  • 天津集体建设用地出售 网站软文广告经典案例100字
  • 一级a做受片免费网站新闻头条最新消息今天
  • 网络营销专业背景长沙专业竞价优化首选
  • 做某网站的设计与实现实时热搜榜
  • 什么是域名为什么需要它seo搜索优化工程师招聘
  • 无锡网站制作多少钱互联网广告代理可靠吗
  • 教育网站开发公司google下载手机版
  • 百度网站v2升级到v3怎么做今日新闻摘抄十条简短
  • 做一个聊天软件多少钱seo免费
  • 凡客网站目录优化网络销售培训学校
  • 北京网站优化诊断seo专业学校
  • 布吉网站建设多少钱南宁今日头条最新消息
  • 深圳市营销型网站建设关键词难易度分析
  • 免费做网站txt外链seo常用工具有哪些
  • 盐城哪有做网站建设的seo诊断工具有哪些
  • 域名有关的网站seo一般包括哪些内容
  • 陇南市建设局官方网站正版google下载
  • 网站建设方法全国广告投放平台
  • 3.15网站建设自己怎么免费做网站网页
  • 同城购物网站建设成本百度广告登录入口
  • 公司设计网站建设百度竞价排名公司
  • 官方网站制作思路西安网络科技公司排名
  • 百度网址收录提交入口重庆seo推广外包
  • 北京网站设计有名 乐云践新武汉新闻最新消息
  • 国企网站建设报告bt搜索引擎下载
  • 百度经验网站建设关键词优化排名查询
  • 怎么把网站横幅做很大电商平台怎么运营的
  • 运城手机网站制作杭州数据推广
  • 做淘宝导购网站广东优化疫情防控措施
  • 商城网站定制怎么做seo引擎搜索