Python代码阅读(第12篇)(初始化二维数组)
【Python代码阅读(第12篇)(初始化二维数组)】
文章图片
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
对象确实支持负索引,但是会将其解读为从正索引所确定的序列的末尾开始索引。推荐阅读
- CVE-2020-16898|CVE-2020-16898 TCP/IP远程代码执行漏洞
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- Ⅴ爱阅读,亲子互动——打卡第178天
- 上班后阅读开始变成一件奢侈的事
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- 历史教学书籍
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- 绘本讲师训练营【24期】14/21阅读原创《小黑鱼》