在Python中迭代并比较未知量的输入

在Python中迭代并比较未知量的输入,python,recursion,set,arguments,argv,Python,Recursion,Set,Arguments,Argv,下面的代码段接受两个参数,比较其中包含的值并打印任何匹配项 from sys import argv print(set(argv[1]) & set(argv[2])) #Output: python multicompare.py man fan #{'n', 'a'} 一个人将如何调整这一点来处理未知的、可能无限的或大量的争论?我尝试迭代参数并将它们传递给函数,但在没有已知数量的参数的情况下,如何对它们调用set并引用它们? 期望的是: #Output: python3 mul

下面的代码段接受两个参数,比较其中包含的值并打印任何匹配项

from sys import argv

print(set(argv[1]) & set(argv[2]))
#Output: python multicompare.py man fan
#{'n', 'a'}
一个人将如何调整这一点来处理未知的、可能无限的或大量的争论?我尝试迭代参数并将它们传递给函数,但在没有已知数量的参数的情况下,如何对它们调用set并引用它们? 期望的是:

#Output: python3 multicompare.py man fan dan tan han
# {'n', 'a'}
#Output: python3 multicompare.py man fan dan can fin tin mountain happen trappen
# {'n'} 

您可以迭代sys.argv并使用&=运算符。如果你用论据来称呼这句话,曼凡丹可以在锡山发生的事情:

然后打印:

{'n'}
您可以迭代sys.argv并使用&=运算符。如果你用论据来称呼这句话,曼凡丹可以在锡山发生的事情:

然后打印:

{'n'}
使用s的方法,实际上不需要将参数转换为集合,也就是说,除了一个

非操作员版本的。。。方法[s] 将接受任何iterable作为参数。相比之下,他们的运营商 基于的对等体要求其参数为集合

所以你可以这样做:

导入系统 printsetsys.argv[1]。交叉点*sys.argv[2:] 使用s的方法,实际上不需要将参数转换为集合,也就是说,除了一个

非操作员版本的。。。方法[s] 将接受任何iterable作为参数。相比之下,他们的运营商 基于的对等体要求其参数为集合

所以你可以这样做:

导入系统 printsetsys.argv[1]。交叉点*sys.argv[2:]