将列表中的所有数据放入单独的 tkinter 标签中

placing all data from list into seperate tkinter label

我正在尝试制作一个函数,它打印列表中字符串的行和列。

input_data_col1 = [row1,row2,row3]
input_data_col2 = [row1,row2,row3]
input_data_col3 = [row1,row2,row3]
input_data_col4 = [row1,row2,row3]

期望的输出:(在网格化的 tkinter 标签中)

row1    row1    row1    row1
row2    row2    row2    row2
row3    row3    row3    row3

如有任何帮助,我们将不胜感激。

def func(ina, inb, inc, ind):
  print('\n'.join('    '.join(['{:.4f}'.format(x) for x in l]) for l in [ina, inb, inc, ind]))

这是一种非常幼稚的方法,在实践中行不通。实际上,您应该将这些存储在数据 table 中。查看 pandas.DataFrame 对象的文档。

举个简单的例子,考虑一个数组:

data = [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]

您可以使用

从该数据创建 pandas 数据 table
pandas.DataFrame(data)

您可以这样添加行标签:

labels = [“a”, “b”, “c”, “d”]
pandas.DataFrame(data, labels)

您可以使用 pandas 库做很多其他事情,这就是我强烈建议阅读其文档的原因。

OP 之后更改了他们的问题,所以这是我更新的答案

您可以创建 table 个标签,然后将每个标签填充到一个唯一的单元格中,例如

def func(data):
  labels = [[Label(root, text = cell) for cell in y] for y in data]
  for i in range(len(labels)):
    for j in range(len(labels[i])):
      labels[i][j].grid(i, j)