使用格式打印多个列表

时间:2018-12-19 10:29:17

标签: python list format

我有2个大小可变的列表,需要彼此并列打印。例如,如果

A = [30, 40, 50]
B = [1,2,3]

然后,我要打印如下输出:

A 30 B 1 A 40 B 2 A 50 B 3

我尝试了类似

的方法
print (len(A)* ('A {} B {}').format(*A,*B) 

但这并不能满足我的需求。

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:2)

您可以zip列出两个列表:

A = [30, 40, 50]
B = [1,2,3]

result = ' '.join('A {} B {}'.format(a, b) for a, b in zip(A, B))
print(result)

输出

A 30 B 1 A 40 B 2 A 50 B 3

答案 1 :(得分:1)

使用enumerate的简单迭代

例如:

A = [30, 40, 50]
B = [1,2,3]

print(" ".join("A {} B {}".format(v, B[i]) for i,v in enumerate(A)))

输出:

A 30 B 1 A 40 B 2 A 50 B 3

答案 2 :(得分:0)

一种可能的解决方案:

import numpy as np

X = np.random.randint(0, 99, size=1000) # 1k random integer

print(*map(lambda x, y: "A {} B {}".format(x, y), A, B)) -lambda函数采用2个参数(lambda x, yA中的每个元素)并创建一个名为B的数据结构(类似于list)。之后,我们将类似map的数据结构视为常规map,并打印每个特定元素。

输入

list

中间结果

仅出于解释目的。

A = [1, 2, 3]
B = [4, 5, 6]

输出

print(*map(["A 1 B 4", "A 2 B 5", "A 3 B 6"]))

如果其中一个数组较短,它将返回以下内容:

输入

A 1 B 4 A 2 B 5 A 3 B 6

输出

A = [1, 2]
B = [4, 5, 6]

有关更多详细信息,请查看map

受到Q&A

的启发