python中re的用法,python res什么意思

  python中re的用法,python res什么意思

  这个问题有最好的答案,请点击这里访问。

  以下是来自AllenDowney在Github上的ThinkBayes的一段代码:

  def read data(filename= showcases . 2011 . CSV ):

  “”读取数据的CSV文件。

  参数:

  文件名:字符串文件名

  返回:( price1 price2 bid1 bid2 diff1 diff2)元组序列

  fp=打开(文件名)

  reader=csv.reader(fp)

  res=[]

  对于阅读器中的t:

  _heading=t[0]

  data=t[1:]

  尝试:

  data=[int(x) for x in data]

  #打印标题,数据[0],长度(数据)

  资源追加(数据)

  除了值错误:

  及格

  fp.close()

  返回zip(*res)

  整个文件可以在github的url:链接上看到。

  不知道最后一行代码中的zip(*res)是什么意思?显然:

  “*”用作前缀有什么作用?然后

  Zip函数对*有什么作用?

  我对python不熟悉,可能会问一些比较明显的问题。我在函数的docstring里看到作者的注释,返回一个(pric1price 2 …)序列,但是我不确定。

  更新:这里是JamesRettie的Anwer的追踪,这里是我在Python3.6中运行他提供的代码时得到的信息:

  In [51]: zip([a , b , c],[1,2,3])

  Out[51]:

  而在python 2.7中运行相同的代码将产生以下结果:

  In [2]: zip([a , b , c],[1,2,3])

  Out[2]: [(a ,1),( b ,2),( c ,3)]

  你能解释一下为什么吗?不同的是,python 2.7和python 3.6对我来说很重要,因为我仍然需要支持python 2.7,但我想迁移到3.6。

  谢谢你给我指出这个链接。确实回答了我上面的问题。

  对于python 3,使用list(zip(*x))。很好,这在python 2中也适用,因为将一个列表应用于一个列表仍然会给出相同的列表。

  身材好!那对我很有用。谢谢你。

  在python中,*是‘splat’运算符。它用于将列表解包为参数。例如:foo(*[1,2,3])与foo(1,2,3)相同。

  zip()函数接受niterables并返回一个Y元组,其中Y是所有提供的iterables长度中最小的。yth元组将包含所有提供的iterables的yth元素。

  例如:

  zip([a , b , c],[1,2,3])

  会屈服

  ( a ,1) (b ,2) (c ,3)

  对于嵌套列表,如您提供的示例中的res,调用zip(*res)将执行以下操作:

  RES=[ a , b , c],[1,2,3]]

  zip(*res)

  #这与调用zip([a , b , c],[1,2,3])是一样的

  ( a ,1)

  ( b ,2)

  ( c ,3)

  Zip(*res)变换矩阵(2D数组/列表)。*运算符“解包”一个或多个矩阵行,沿列压缩行:

  x=[(a , b , c ),(1,2,3)]

  zip(*x)

  [(a ,1),( b ,2),( c ,3)]

  想象在对角线上镜像矩阵。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: