我还有另一个问题,就像我在这里遇到的问题一样 - > Python double FOR loops without threading
基本上,我希望第一个for循环在这里枚举一个列表中的每个学校主题,然后在print函数中,我希望它打印该列表中的每个数字,所以它出来像8 - 4 - 5 - 7等。
for item in store:
print(str(item + "|" + (str((cflist[i]) for i in range(3))) + "\n" + ("-------------" * 7)))
...
Running the complete code makes a big grid filled with these things, but different
subjects each line. (NTL here)
-------------------------------------------------------------------------------------------
NTL|<generator object <genexpr> at 0x0000000003404900>
-------------------------------------------------------------------------------------------
我已经让代码部分工作了,所以每个列表编号都在另一个主题行中,所以我会NTL|8.2
和下一行ENT|5.7
但是我想要在每个列表后显示所有这些数字其他如NTL|8.2 - 5.7 - etc
编辑: 完成!
-------------------------------------------------------------------------------------------
NTL|7.2 8.4 6.7 5.3 4.8
-------------------------------------------------------------------------------------------
答案 0 :(得分:1)
在生成器表达式上使用str
将打印str
版本的生成器表达式,而不是您预期的项目:
>>> str((x for x in range(3)))
'<generator object <genexpr> at 0xb624b93c>'
尝试这样的事情:
for item in store:
strs = " ".join([cflist[i]) for i in range(3)])
print(str(item + "|" + strs + "\n" + ("-------------" * 7)))