Python:使用需要参数的类方法映射

时间:2016-11-10 15:30:56

标签: python dictionary pyqt5

我需要使用PyQt5 QTableWidget为一组参数调用一个方法,特别是PyQt5.QTableWidget.setItem

我有这个字符串列表,

row = ["a","b","c","d"]

我需要将每个元素放在表的一列中,第一列除外。我试过的是

items = [ QTableWidgetItem(r) for r in row[1:] ]
arguments = zip([rowNumber+1]*(len(row)-1), range(1,len(row)), items)
putItem = lambda x:tableWidget.setItem(*x)
import itertools
itertools.starmap(putItem, arguments)

我也尝试使用map而没有参数的zip,但似乎没有任何效果。我知道我可以对参数进行for循环,但我希望"更优雅"地图解决方案。

主要问题是表格中没有显示任何信息,但没有错误报告,也没有任何警告。

谢谢!

2 个答案:

答案 0 :(得分:1)

循环更优雅,虽然不是简洁,恕我直言。

创建生成器(与starmap一样)时,必须使用它来执行代码。 例如,将其传递给@Override protected void onDraw(Canvas canvas) { int marginTop = dpToPx(7); canvas.translate(0, -marginTop); super.onDraw(canvas); }

答案 1 :(得分:0)

只是为了它,这是写这段代码的理智方式:

5
-1, -2, -3 , -4, -5