Skip to main content
 首页 » 编程设计

python之条件循环

2025年05月04日19oomusou

我想做有条件的循环。

In [1]  : data_1 
Out [1] : 
text1 
text2 
 
In [2]  : data_2 
Out [2] : 
a 
b 
c 
d 
e 

我希望 data_1 中的每个文本仅适用于 data_2 中的 2 个文本。所以,输出将是这样的。

text1, a 
text1, b 
text2, c 
text2, d 

如果 data_1 没有任何数据,它将停止。我输入了这样的脚本,但没有用。

for i in range(len(data_1)): 
    for j in range(0, len(data_2)): 
            print(i, j) 

输出结果如下。

0 0 
0 1 
0 2 
0 3 
0 4 
1 0 
1 1 
1 2 
1 3 
1 4 

请您参考如下方法:

一种方法是使用 itertools 库和 zip(),例如:

In []: 
import itertools as it 
n = 2   # No. of repetitions 
list(zip(it.chain.from_iterable(it.repeat(x, n) for x in data_1), data_2)) 
 
Out[]: 
[('text1', 'a'), ('text1', 'b'), ('text2', 'c'), ('text2', 'd')] 

或者如果你想print()输出每个元素:

In []: 
for x in zip(it.chain.from_iterable(it.repeat(x, n) for x in data_1), data_2): 
    print(', '.join(x)) 
 
Out[]: 
text1, a 
text1, b 
text2, c 
text2, d