我希望得到一个像Build a spreadsheet from a list of tuples of (row, column, value) using 2D array. no numpy一样的结果,但它不是2d列表,而是一个链表的链表。
目前我还不知道如何建立一个链表的链表。
class Cell:
def __init__(self, row: int, col: int, val: float):
# a cell object has the row, column and value
self.row = row
self.col = col
self.val = val
def __str__(self) -> str:
"""
Convert cell to a string for printing.
"""
return "(" + str(self.row) + "," + str(self.col) + "," + "{:.2f}".format(self.val) + ")"
class Node:
"""
A basic type in linked list
"""
def __init__(self, value=None):
self.m_value = value
self.m_next = None
self.m_prev = None
def get_value(self):
return self.m_value
def get_next(self):
return self.m_next
def get_prev(self):
return self.m_prev
def set_value(self, value):
self.m_value = value
def set_next(self, next):
self.m_next = next
def set_prev(self, prev):
self.m_prev = prev
class LinkedListSpreadsheet(BaseSpreadsheet):
def __init__(self):
self.rows = LinkedList()
self.cols = LinkedList()
self.length = 0
def buildSpreadsheet(self, lCells: [Cell]):
"""
Construct the data structure to store nodes.
@param lCells: list of cells to be stored
"""
pass
我需要帮助,以实现电子表格完成def buildSpreadsheet(self, lCells: [Cell])
lCell或细胞,其中有行,列,值。
所以lCell = [[9, 9, 20] [2, 5, 7] [3, 1, 6] [8, 5, -6.7], [1, 1, 3]]
我期望的结果是一个链表的链表,它只存储行和列位置的单元格的值。
与列1行1处的图像一样,存储的瓦尔是3。
expected output
1条答案
按热度按时间6g8kf2rb1#
首先是一些评论:
Node
:这将是一个sentinel(伪)节点。这个链表中的每个新节点都将是节点示例,其值为另一个链表(嵌套)。这个嵌套链表将表示一行,其中的每个节点表示一个单元格(其值为Cell
示例)。此外,这个嵌套链表将是Node
的示例,表示一个sentinel节点。None
),这样您就可以更容易地测试实现。这可能不是你希望的那样,但是我不能让自己创建一个链表,每个没有数据的坐标都有一个节点示例。这感觉很糟糕:
演示运行: