这与How to print a list in Python “nicely”类似,但我希望打印列表时更加美观——不使用括号、撇号和逗号,在列中甚至更好。
foolist = ['exiv2-devel', 'mingw-libs', 'tcltk-demos', 'fcgi', 'netcdf',
'pdcurses-devel', 'msvcrt', 'gdal-grass', 'iconv', 'qgis-devel',
'qgis1.1', 'php_mapscript']
evenNicerPrint(foolist)
预期结果:
exiv2-devel msvcrt
mingw-libs gdal-grass
tcltk-demos iconv
fcgi qgis-devel
netcdf qgis1.1
pdcurses-devel php_mapscript
谢谢!
简单:
灵感来自吉梅尔的回答,above。
结果(第二个满足您的要求):
这个答案在@Aaron Digulla的答案中使用了相同的方法,使用的是略为python的语法。这可能会使上面的一些答案更容易理解。
这可以很容易地适应任意数量的列或可变列,这将导致类似@gnibbler的答案。间距可根据屏幕宽度调整。
更新:按要求解释。
索引
foolist[::3]
选择foolist
的每三个元素。foolist[1::3]
选择每三个元素,从第二个元素开始('1',因为python使用零索引)。压缩
压缩列表(或其他iterable)生成列表元素的元组。例如:
一起
把这些想法放在一起,我们就得到了解决方案:
在这里,我们首先生成
foolist
的三个“切片”,每个切片按第三个元素索引,偏移量为1。它们各自只包含列表的三分之一。现在,当我们压缩这些片段并进行迭代时,每次迭代都会给出foolist
的三个元素。这就是我们想要的:
而不是:
相关问题 更多 >
编程相关推荐