Python 打印列表中的项目给出了很多结果
Python print item in list gives lots of results
a = [1,2,3]
b = [4,5,6]
#i have 2 lists
for x in a:
for y in b:
print x,' vs ',y
Then i got
1 vs 4 , 1 vs 5, 1 vs 6
,2 vs 4 ... and so on
我只需要 3 个结果 :-
1对4
2对5
3 对 6
表示 a 上的第 1 项与 b 上的第 1 项,第 2 项与第 2 项,第 3 项与第 3 项
请帮助我
a = [1,2,3]
b = [4,5,6]
for first, second in zip(a,b):
print(first, ' vs ', second)
zip
将 a
和 b
的值联系在一起。所以zip(a,b)
的第一个元素是[1,4]
,下一个元素是[2,5]
等等。
请注意,zip 创建了一个迭代器,因此您不能通过索引直接访问元素(zip(a,b)[1]
不起作用)。
试试这个:
a = [1,2,3]
b = [4,5,6]
[print('{0} vs {1}'.format(x,y)) for (x,y) in zip(a, b)]
Zip 会将您的两个列表加入 ((1, 4), (2, 5), (3, 6))
其他答案都很好,另一种方法是使用枚举。
for i, x in enumerate(a):
print x," vs ", b[i]
这会生成一个压缩的排序列表,其中每个值都与其在列表中的索引值配对。例如。 enumerate([1, 2, 3]) => [(0, 1), (1, 2), (2, 3)]
.
试试这位兄弟:
x = [1, 2, 3]
y = [4, 5, 6]
for i, j in zip(x, y):
print i + " / " + j
它会给你:
1 / 4
2 / 5
3 / 6
同时检查:"for loop" with two variables?
Zip 非常适合您的用例。
关于 zip 的更多信息:
https://docs.python.org/2/library/functions.html#zip
a = [1,2,3]
b = [4,5,6]
for x in zip(a,b):
print x[0],' vs ',x[1]
注意:如果您的列表大小不同,zip 将在最小元素处停止
谢谢大家 zip(a,b) 和 enumerate(a,b) 都运行良好,但如果我有像 a = [1,2,3,4] 和 b = [1,2,3] 这样的列表然后 zip(a,b) 仅工作 1,1 2,2 3,3 并且第 4 个变量不可见并且枚举方法运行良好但最终给出了超出范围的错误:)
a = [1,2,3]
b = [4,5,6]
#i have 2 lists
for x in a:
for y in b:
print x,' vs ',y
Then i got
1 vs 4 , 1 vs 5, 1 vs 6 ,2 vs 4 ... and so on
我只需要 3 个结果 :- 1对4 2对5 3 对 6
表示 a 上的第 1 项与 b 上的第 1 项,第 2 项与第 2 项,第 3 项与第 3 项 请帮助我
a = [1,2,3]
b = [4,5,6]
for first, second in zip(a,b):
print(first, ' vs ', second)
zip
将 a
和 b
的值联系在一起。所以zip(a,b)
的第一个元素是[1,4]
,下一个元素是[2,5]
等等。
请注意,zip 创建了一个迭代器,因此您不能通过索引直接访问元素(zip(a,b)[1]
不起作用)。
试试这个:
a = [1,2,3]
b = [4,5,6]
[print('{0} vs {1}'.format(x,y)) for (x,y) in zip(a, b)]
Zip 会将您的两个列表加入 ((1, 4), (2, 5), (3, 6))
其他答案都很好,另一种方法是使用枚举。
for i, x in enumerate(a):
print x," vs ", b[i]
这会生成一个压缩的排序列表,其中每个值都与其在列表中的索引值配对。例如。 enumerate([1, 2, 3]) => [(0, 1), (1, 2), (2, 3)]
.
试试这位兄弟:
x = [1, 2, 3]
y = [4, 5, 6]
for i, j in zip(x, y):
print i + " / " + j
它会给你:
1 / 4
2 / 5
3 / 6
同时检查:"for loop" with two variables?
Zip 非常适合您的用例。
关于 zip 的更多信息: https://docs.python.org/2/library/functions.html#zip
a = [1,2,3]
b = [4,5,6]
for x in zip(a,b):
print x[0],' vs ',x[1]
注意:如果您的列表大小不同,zip 将在最小元素处停止
谢谢大家 zip(a,b) 和 enumerate(a,b) 都运行良好,但如果我有像 a = [1,2,3,4] 和 b = [1,2,3] 这样的列表然后 zip(a,b) 仅工作 1,1 2,2 3,3 并且第 4 个变量不可见并且枚举方法运行良好但最终给出了超出范围的错误:)