所以说我有两个清单,
a=[x,y,....z]
和b=[x1,y1,...z1]
以及具有这两个列表参数的函数:
def examplefunction(a,b)
我怎样才能使该函数使用列表a和b中的第一项,然后列出a和b中的第二项,直到列表的末尾? (并且每个列表具有相同数量的项目)
我会做类似的事情吗?
def main():
for i in range(len(a)):
examplefunction(a[i],b[i])
我是列表中的第1,第2,......第n项。
答案 0 :(得分:2)
您可以使用zip
同时访问2个列表项:
for firstlistitem,secondlistitem in zip(a,b):
.....
答案 1 :(得分:1)
虽然不确定你要求的是什么,但是 您的示例函数如下所示:
def examplefunction(a,b):
list_s = len(a)
for i in range(list_s):
item_a = a[i]
item_b = b[i]
答案 2 :(得分:0)
您可以按索引访问项目,但user3的解决方案更优雅。
a = [1,2,3]
b = [4,5,6]
for index, value in enumerate(a):
print value, b[index]
答案 3 :(得分:0)
[examplefunction(aa, bb) for (aa, bb) in zip(a,b)]
会生成结果列表,或使用()而不是[]来生成生成器。
答案 4 :(得分:0)
为了扩展user3的答案,我创建了一个快速演示函数来演示它的工作原理。
>>> def foo(a, b):
... print('{} - {}'.format(a, b))
>>> lst
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> l
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
>>> for a, b in zip(l, lst):
... foo(a, b)
...
10 - 1
9 - 2
8 - 3
7 - 4
6 - 5
5 - 6
4 - 7
3 - 8
2 - 9
1 - 10