是否可以在Python中使用两个不同列表的元素作为函数参数?

问题描述

我有一个函数需要像这样的两个参数

list_of_ids = [1,2,3]
list_of_names = [bob,joe,frank]
def function(id,name):
    

函数参数来自这两个数组。因此,每次调用它时都会像这样:

def function(1,bob)
def function(2,joe)
def function(3,frank)

我已经尝试了几个for循环,如下所示:

for id in list_of_ids:
    for name in list_of_names:
        function(id,name)

但是,这没有给我想要的结果。任何帮助将不胜感激。

解决方法

您可以使用zip将两个列表组合在一起。

这里是一个例子。

list_of_ids = [1,2,3]
list_of_names = ['bob','joe','frank']

def function(id,name):
    return f'{id} {name}'

for id,name in zip(list_of_ids,list_of_names):
    print(function(id,name))


#1 bob
#2 joe
#3 frank

zip创建一个“ zip”对象,该对象是传递给它的两个列表/元组的可重复的小管。

,

如果这些列表具有 unqual 个元素,则最好使用from flask import g @app.route('/my_view') def my_view(): if g.my_addon == "secret sauce": print('it worked!') 进行处理,如下所示:

generator