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

原创 阁主  2023-02-17 17:15:29  阅读 913 次 评论 0 条
摘要:

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

介绍

简单的封装一个class完成对二维列表的上下左右的范围取操作,对静态方法学习巩固。

代码

  1. """
  2. 静态方法
  3. """
  4. class Vector2:
  5. """
  6. 向量
  7. """
  8. def __init__(self, x=0, y=0):
  9. self.x = x
  10. self.y = y
  11. @staticmethod
  12. def get_left():
  13. return Vector2(0, -1)
  14. @staticmethod
  15. def get_right():
  16. return Vector2(0, 1)
  17. @staticmethod
  18. def get_up():
  19. return Vector2(-1, 0)
  20. @staticmethod
  21. def get_down():
  22. return Vector2(+1, 0)
  23. class DoubleListHelper:
  24. """
  25. 二维列表助手类
  26. """
  27. @staticmethod
  28. def get_elements(list_target, vect_pos, vect_dir, count):
  29. list_result = []
  30. for __ in range(count):
  31. vect_pos.x += vect_dir.x
  32. vect_pos.y += vect_dir.y
  33. element = list_target[vect_pos.x][vect_pos.y]
  34. list_result.append(element)
  35. return list_result
  36. list01 = [
  37. ["00", "01", "02", "03", "04"],
  38. ["10", "11", "12", "13", "14"],
  39. ["20", "21", "22", "23", "24"],
  40. ["30", "31", "32", "33", "34"],
  41. ]
  42. # 练习:30位置 向右获取3个元素
  43. print(DoubleListHelper.get_elements(list01, Vector2(3, 0), Vector2.get_right(), 3))
  44. # 练习:32位置 向上获取3个元素
  45. print(DoubleListHelper.get_elements(list01, Vector2(3, 2), Vector2.get_up(), 3))
  46. # 练习:34位置 向左获取3个元素
  47. print(DoubleListHelper.get_elements(list01, Vector2(3, 4), Vector2.get_left(), 3))
  48. # 练习:04位置 向下获取3个元素
  49. print(DoubleListHelper.get_elements(list01, Vector2(0, 4), Vector2.get_down(), 3))

输出内容

  1. ['31', '32', '33']
  2. ['22', '12', '02']
  3. ['33', '32', '31']
  4. ['14', '24', '34']
本文地址:https://www.mainblog.cn/305.html
版权声明:本文为原创文章,版权归 阁主 所有,欢迎分享本文,转载请保留出处!
免责申明:有些内容源于网络,没能联系到作者。如侵犯到你的权益请告知,我们会尽快删除相关内容。

评论已关闭!