python - 如何垂直打印数字列表?
问题描述
我正在尝试解决一个练习。我应该编写一个接受整数列表的函数,将其转换为垂直显示的数字字符串。
mylist = [5,69,2090]
该函数应返回/打印以下字符串:
2
0
6 9
5 9 0
我试图用下面的代码解决它,但它对我没有帮助
def printstring(mylist):
h = len(mylist)//3
for i in range(h):
print(mylist[i],mylist[h+i],l[h+i+1])
解决方案
lst = [5,69,2090]
n = max(len(str(i)) for i in lst)
for i in zip(*['{:>{n}}'.format(i, n=n) for i in lst]):
print(' '.join(i))
印刷:
2
0
6 9
5 9 0
对于lst = [1,123,12,12345,1234]
:
1
2 1
1 3 2
2 1 4 3
1 3 2 5 4
推荐阅读
- java - 用于物联网集线器设备固件更新的 Rest api
- javascript - 表格添加行、编辑行、保存行、删除行使用HTML、CSS、JS
- java - 在运行时错误在 ARCore 数据库中添加图像
- apache - 无法从另一台计算机访问 apache2 虚拟主机
- mysql - 如何使用 INNER/LEFT JOIN 排除记录
- php - fwrite(): send of 6 bytes failed with errno=10054 现有连接被远程主机强行关闭
- java - 为什么 Java CMS 垃圾收集器不允许已用堆大小增长到可用堆大小?
- android - Flutter/Dart/Android - 允许权限后应用程序崩溃
- cypress - 在 cypress CI E2E 的浏览器中使用特定的 flash 播放器版本
- android - Flutter Android InAppWebView 摄像头和麦克风被阻止