Python静态方法完成对二维列表的范围获取操作

原创 阁主  2026-02-20 00:21:22  阅读 1370 次 评论 0 条
摘要:

使用Python的静态方法实现简单的二维列表的范围获取操作。

介绍

简单的封装一个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
版权声明:本文为原创文章,版权归 阁主 所有,欢迎分享本文,转载请保留出处!
免责申明:有些内容源于网络,没能联系到作者。如侵犯到你的权益请告知,我们会尽快删除相关内容。
NEXT:已经是最新一篇了

评论已关闭!