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

从化做网站建设网站建设天猫店

从化做网站建设,网站建设天猫店,个人网站的名字,宇舶手表网站任务 需要变换一个列表的列表,将行换成列,列换成行。 解决方案 需要一个列表,其中的每一项都是同样长度的列表,像这样 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/a/564083.html

相关文章:

  • 做网站建设的技巧academy汉化wordpress
  • 网站备案实名认证校园网站 建设 意义
  • 哈尔滨网站设计公司地址建筑设计图片
  • 搭建网站用服务器还是虚拟主机网站建设后百度找不到
  • 快速搭建电子商务网站为什么网站收录下降
  • 网站空间就是主机吗电子商务网站建设课程设计
  • 网站制作的电话做茶叶网站的公司
  • wordpress 手机站wordpress文章为啥数据库中找不到
  • 高明网站设计源码网站
  • 上海企业自助建站网站备案 信息安全管理协议
  • 网站建设需要用软件外贸流程ppt
  • mooc网站建设自己做的网站怎么接入银联支付
  • 做外贸出口的网站在线做网页的网站
  • 长尾关键词搜索网站为什么网站显示正在建设
  • 服饰团购网站建设长沙网络推广哪家好
  • 淄博网站制作window2008r2网站建设
  • 青岛专业公司网站设计西安网站建设怎么接单
  • 用php做的大型网站有哪些哪个网站可以做外贸
  • 网站建设公司建设广告公司简介范文
  • 网页制作与网站设计wordpress 无图插件下载
  • 郑州建设网站推广公司网站源码查看
  • 做图专业软件下载网站wordpress数据在哪个文件夹
  • 电商设计需要学什么wordpress 加载速度优化
  • 广西建设职业技术学院管理工程系网站2014考试前培训时间网站优化推广 site
  • 国内免备案网站空间咖啡网站模板html
  • 瑞金市网站建设wordpress电视直播代码
  • 新手做网站推荐京山网站建设
  • 一份电子商务网站建设规划书2022百度收录越来越难了
  • 成都市网站建设公深圳微信网站建设
  • 河北城乡和住房建设厅官方网站中小网站 广告费