• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于python:Python代码阅读第12篇初始化二维数组

python 搞代码 4年前 (2022-02-20) 31次浏览 已收录 0个评论

Python 代码浏览合集介绍:为什么不举荐Python初学者间接看我的项目源码

本篇浏览的代码实现了二维数组的初始化性能,依据给定的宽高初始化二维数组。

本篇浏览的代码片段来自于30-seconds-of-python。

initialize_2d_list

def initialize_2d_list(w,h, val = None):
  return [[val for x in range(w)] for y in range(h)]

# EXAMPLES
initialize_2d_list(2, 2, 0) # [[0,0], [0,0]]

initialize_2d_list接管二维数组的宽、高和初始值,返回一个二维数组。

函数通过列表推导式和range()函数生成h行长度为w的列表。列表中的元素的初始值由参数val指定。

[[val for x in range(w)] for y in range(h)]该列表推导式的第一个局部是生成一个列表,该列表长度为w,所有的值为val。第二局部是将第一局部生成的列表作为元素生成一个长度为h的列表。

range

range类型示意不可变的数字序列,通常用于在for循环中循环指定的次数。它有两种模式:class range(stop)class range(start, stop[, step])。如果省略 step 参数,其默认值为1。 如果省略start参数,其默认值为0,如果step为零则会引发ValueError

如果step为正值,确定range r内容的公式为r[i] = start + step*i 其中 i >= 0 且 r[i] < stop

如果step为负值,确定range内容的公式依然为r[i] = start + step*i,但限度条件改为 i >= 0 且 r[i] > stop

如果r[0]不合乎值的限度条件,则该range对象为空。range对象的确反对负索引,然而会将其解读为从正索引所确定的序列的开端开始索引。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于python:Python代码阅读第12篇初始化二维数组

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址