python - 组合字符串和整数并打印
问题描述
鉴于以下列表:
a = ['abc','cde','efg']
b = [[1,2,3],[2,3,4],[4,5,6]]
什么是打印输出的优化方式,如下所示: 寻找一种优化方式,因为我有大约 100 x 100 个元素。还要记住,b 中的每个元素都是整数,而 a 中的每个元素都是字符串
abc,1,2,3
cde,2,3,4
efg,4,5,6
解决方案
要以您指定的确切格式打印:
print('\n'.join([a[i] + ',' + str(b[i]).strip('[').strip(']').replace(' ','') for i in range(len(a))]))
输出:
abc,1,2,3
cde,2,3,4
efg,4,5,6
100*100 元素对于 python 程序来说是一个非常小的数字——这种规模的任何优化都可能不足以让我们人类注意到。去测试:
%%timeit
array = np.random.randn(100,100)
print('\n'.join([str(e) for e in array])) # prints like above
结果:
148 ms ± 13.2 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
另外 - 请记住,主要瓶颈应该是print
,而不是进行打印的实际过程,因此使用zip
或其他技巧可能不起作用,因为它们不能帮助终端/其他标准输出捕获打印足够快。
推荐阅读
- javascript - Js 监听特定宽度
- javascript - Javascript缩短字符串并找到句子结尾
- javascript - 单击时如何更改复选框的“已选中”属性?
- mysql - JPA中的CRUD多对一双向关系
- c# - 将功能断点分配给 Windows dll/API 函数调用
- c# - C# LINQ GroupBy 将列表转换为具有一个属性作为值列表的组
- c# - If 语句错误:“无法将类型 'string' 转换为 'bool'”
- node.js - oauth-1.0a 为 Zotero API (NodeJS) 返回 401 的节点包
- hadoop - 蜂巢创建视图问题:内部将数字转换为其他内容
- python - How do I use this callback in Python?