当前位置:  开发笔记 > 编程语言 > 正文

在某些方向打印嵌套列表 - Python

如何解决《在某些方向打印嵌套列表-Python》经验,为你挑选了1个好方法。

我正在尝试用Python制作图形设计的问题,更具体地说是ASCII"横幅"字.每个字母由字符的嵌套列表组成.

 [[' _______ ', '(       )', '| () () |', '| || || |', '| |(_)| |', '| |   | |', '| )   ( |', '|/     \\|'], [' _______ ', '(  ____ \\', '| (    \\/', '| (__    ', '|  __)   ', '| (      ', '| (____/\\', '(_______/']]

等等

当为每个嵌套列表向下打印并为整个事物打印时,它们会形成一个单词.我正如上面所说的那样打印它时遇到问题,对于每个嵌套列表都是如此.提前致谢!



1> tobias_k..:

如果你想从左到右打印字母,你将需要自己zip的列表列表,有效地"转置"它.这样,第一个列表将包含所有第一行,第二个列表包含所有第二行,依此类推.现在就是join那些,你就完成了.

>>> ascii = [[' _______ ', '(       )', '| () () |', '| || || |', '| |(_)| |', '| |   | |', '| )   ( |', '|/     \\|'], [' _______ ', '(  ____ \\', '| (    \\/', '| (__    ', '|  __)   ', '| (      ', '| (____/\\', '(_______/']]
>>> print '\n'.join((' '.join(line) for line in zip(*ascii))) 
 _______   _______ 
(       ) (  ____ \
| () () | | (    \/
| || || | | (__    
| |(_)| | |  __)   
| |   | | | (      
| )   ( | | (____/\
|/     \| (_______/

如果你想从上到下打印字母,你可以使用:

>>> print '\n\n'.join(('\n'.join(line) for line in ascii))

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有