我需要一个需要任意数量iterable的函数。为此,可以假设这些iterable以相同的顺序输出它们的元素。你知道吗
我想要一个函数,它返回元素的列表,这些元素在输入iterables的相同位置(相同索引), 例如。对于[1,2,3]和[1,“x”,3],将返回1和3。 示例:intersect((1,2,3),(1,2,3),(1,2,3),(1,2,3),(1,2,3),(1,2,3))将返回[1,2,3]
我试过了,但我觉得完全错了
def intersect(*args):
"""Docstring"""
ausgabe = []
anzahlderlisten = len(args)
count = 1
if(anzahlderlisten == 1):
return args[0]
if(anzahlderlisten == 0):
return []
längsteliste = args[0]
while count < anzahlderlisten:
for i in längsteliste:
if not i in args[count] and längsteliste.index(i) == args[count].index(i):
print("db")
if not(i in ausgabe):
print("db")
ausgabe.append(i)
count = count + 1
return ausgabe
一种可能性是:
get_agreeing
使用可变参数,这意味着取任意数量的参数,将它们放入iterable中,并将其传递给函数。这是由*语法完成的。你知道吗然后,我们再次使用star将这些参数传递给zip函数,方式与传递给
get_agreeing
的方式相同 所以如果你把iterables看作列向量,你可以把所有的第一个元素看作一行。对于此行,您只需要检查所有元素是否相同,如果相同,则结果生成器将返回其中的第一个元素。你知道吗如果您想了解有关可变参数或生成器的更多信息,请参阅:
相关问题 更多 >
编程相关推荐