Python2.7,用数组填充表

2024-05-14 11:18:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要用正确的字段填充表的不同行,我当前使用数组填充一列,其结果通过解析文件(包含数据包详细信息的网络捕获)收集。在

在自身有效载荷[]是有效负载数据的一个数组。在

在自身框架[]是另一种帧数据。在

要填充一列,我当前使用:

i=0
for data in self.payloads:
                self.ui.tableWidgetData.insertRow(i)
                self.ui.tableWidgetData.setItem(i, 5, QtGui.QTableWidgetItem(data))
                i+=1

如何使用5个数组填充表?在


Tags: 文件数据inself网络框架uifor
2条回答

我想你要找的是^{}

i=0
for payload, frame, otherthing in zip(self.payloads, self.frames, self.otherthings):
    self.ui.tableWidgetData.insertRow(i)
        self.ui.tableWidgetData.setItem(i, 3, QtGui.QTableWidgetItem(frame))
        self.ui.tableWidgetData.setItem(i, 5, QtGui.QTableWidgetItem(payload))
        self.ui.tableWidgetData.setItem(i, 6, QtGui.QTableWidgetItem(other thing))
        i+=1

zip获取一组独立的iterable(如您的列表)并将它们压缩到一个iterable中,其中每个元素都是来自每个输入的值。这就是在锁步中迭代一组独立的iterable的方法。例如:

^{pr2}$

另外,您不需要像使用i那样手动维护计数器。请参见^{}函数:

>>> for index, i in enumerate(['a', 'b', 'c']):
...     print index, i
0 a
1 b
2 c

map是一个选项。在

a = [0, 1, 2, 3]

b = [0, 1, 2, 3]

for i,j in map(None,a,b):
    print i,j 

相关问题 更多 >

    热门问题