我正在尝试创建一个for
循环,但是我得到了一些不需要的输出:
我的循环示例:
input1 = ['a', 'b', 'c', 'd']
input2 = ['a', 'b', 'c', 'd', 'e']
for i in range(0,4,1)
for j in range(0,5,1)
output = input1[i] + "-" + input2[j]
print(output)
调试后将产生以下结果:
a - a
b - b
c - c
d - d
我不想要它们,因为它将等于零。
有人可以建议我怎么做吗?
答案 0 :(得分:1)
仅在input1[i]
和input1[i]
不相等时打印输出:
input1 = ['a', 'b', 'c', 'd']
input2 = ['a', 'b', 'c', 'd', 'e']
for i in range(len(input1)):
for j in range(len(input2)):
if input1[i] != input2[j]:
output = input1[i] + "-" + input2[j]
print(output)
请注意,range(1,4,1)
和range(1,5,1)
是不正确的,因为列表的索引从0开始而不是从1开始。使用range(list)
确保列表中的所有元素都被迭代。 / p>
由于您仅从两个列表中进行读取,因此可以使用for element in list
语法,该语法可对列表的元素进行迭代,并且更加简洁:
input1 = ['a', 'b', 'c', 'd']
input2 = ['a', 'b', 'c', 'd', 'e']
for i in input1:
for j in input2:
if i != j:
output = i + "-" + j
print(output)
输出:
a-b
a-c
a-d
a-e
b-a
b-c
b-d
b-e
c-a
c-b
c-d
c-e
d-a
d-b
d-c
d-e
答案 1 :(得分:0)
您可以尝试以下示例代码来排除相同的元素:
input1 = ['a', 'b', 'c', 'd']
input2 = ['a', 'b', 'c', 'd', 'e']
for i in range(1,4,1)
for j in range(1,5,1)
if input1[i] != input[j]
output = input1[i] + "-" + input2[j]
print(output)
答案 2 :(得分:0)
您可以使用if
将input1[i]
与input2[j]
进行比较,并跳过一些配对
if input1[i] != input2[j]:
print(input1[i] + "-" + input2[j])
您的代码确实有效,因此我对其进行了更改。
我使用for i in input1
而非for i in range(1,4,1)
使其更具可读性
input1 = ['a', 'b', 'c', 'd']
input2 = ['a', 'b', 'c', 'd', 'e']
for i in input1:
for j in input2:
if i != j:
print(i + "-" + j)