python - 如何垂直打印水平列表?更多信息在下面
问题描述
所以,在过去的几个月里,我在 Udacity.com 上做这门课程,名为 CS101。完成 53% 后,我收到了一个问题,要求我编写一个算法来解决一个非常简单的数独难题。因此,就我的专业知识和我设计算法的方式而言,我想制作一个垂直打印的列表。
例如:
[[4,7,3],[1,8,2],[3,9,3]]
我希望上面的列表打印为
[[4,1,3],[7,8,9],[3,2,3]]
解决方案
您可以使用zip
which 将每个给定列表的所有第 i 个元素聚合在一起:
values = [[4,7,3],[1,8,2],[3,9,3]]
values = list(zip(*values))
print(values) # [(4, 1, 3), (7, 8, 9), (3, 2, 3)]
使用循环:
result = [[] for _ in range(len(values[0]))]
for value in values:
for jdx, val in enumerate(value):
result[jdx].append(val)
print(result)
推荐阅读
- react-leaflet - 不显示图像叠加
- c# - 原子符号链接替换windows c#抛出IOException“此应用程序不支持符号链接上的当前操作”
- javascript - Bootstrap 4 下拉菜单通过悬停出现
- python - {“错误”:“格式错误的请求:POST /v1/models/text_model”} Tensorflow 服务
- javascript - 如何在卡片末尾对齐项目,垂直居中(使用引导程序 4)?
- woocommerce - 仅显示 WooCommerce 父属性
- angular - 从组件到组件获取数据?(角度)
- r - 根据条件使用 left_join 合并数据
- reactjs - 如果我有 useState,则重新安装反应功能组件
- angular - 我如何在 Angular 的 textarea 中模拟代码输入?