我有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)
但这并不能满足我的需求。
任何帮助将不胜感激。
答案 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, y
和A
中的每个元素)并创建一个名为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
的启发