介绍
简单的封装一个class完成对二维列表的上下左右的范围取操作,对静态方法学习巩固。
代码
"""
静态方法
"""
class Vector2:
"""
向量
"""
def __init__(self, x=0, y=0):
self.x = x
self.y = y
@staticmethod
def get_left():
return Vector2(0, -1)
@staticmethod
def get_right():
return Vector2(0, 1)
@staticmethod
def get_up():
return Vector2(-1, 0)
@staticmethod
def get_down():
return Vector2(+1, 0)
class DoubleListHelper:
"""
二维列表助手类
"""
@staticmethod
def get_elements(list_target, vect_pos, vect_dir, count):
list_result = []
for __ in range(count):
vect_pos.x += vect_dir.x
vect_pos.y += vect_dir.y
element = list_target[vect_pos.x][vect_pos.y]
list_result.append(element)
return list_result
list01 = [
["00", "01", "02", "03", "04"],
["10", "11", "12", "13", "14"],
["20", "21", "22", "23", "24"],
["30", "31", "32", "33", "34"],
]
# 练习:30位置 向右获取3个元素
print(DoubleListHelper.get_elements(list01, Vector2(3, 0), Vector2.get_right(), 3))
# 练习:32位置 向上获取3个元素
print(DoubleListHelper.get_elements(list01, Vector2(3, 2), Vector2.get_up(), 3))
# 练习:34位置 向左获取3个元素
print(DoubleListHelper.get_elements(list01, Vector2(3, 4), Vector2.get_left(), 3))
# 练习:04位置 向下获取3个元素
print(DoubleListHelper.get_elements(list01, Vector2(0, 4), Vector2.get_down(), 3))
输出内容
['31', '32', '33']
['22', '12', '02']
['33', '32', '31']
['14', '24', '34']
本文地址:https://www.mainblog.cn/305.html
版权声明:本文为原创文章,版权归 阁主 所有,欢迎分享本文,转载请保留出处!
免责申明:有些内容源于网络,没能联系到作者。如侵犯到你的权益请告知,我们会尽快删除相关内容。
版权声明:本文为原创文章,版权归 阁主 所有,欢迎分享本文,转载请保留出处!
免责申明:有些内容源于网络,没能联系到作者。如侵犯到你的权益请告知,我们会尽快删除相关内容。