我有一个函数f(* args)。用户输入一串用逗号分隔的单词,我使用.split(',')将其拆分为一个列表。我希望能够调用函数f(word1,word2,...,wordn),其中列表中有n个单词。我怎么能这样做?
请注意,我只想将f定义为f(列表)并输入列表,但是教师要求我们使用f(* args)。
示例:用户输入&#hi; church,banana',我将其分成列表[' hi',' church',' banana& #39;]我想打电话给f(' hi',' church',' banana')。我不知道如何进行最后一步,因为用户可以输入任意数量的单词。
答案 0 :(得分:1)
试试这个:
def f(*words):
for word in words:
print word
line = "This is a line of text with multiple words"
words = line.split()
f(*words)
注意在调用中使用*会将列表解压缩为一个元组,这与使用多个参数调用实际上相同
答案 1 :(得分:0)
当您使用def f(*args):
定义函数时,传递给函数的所有参数都会显示在您可以迭代的序列args
中:
def f(*args):
for arg in args:
print arg
f('Foo', 'Bar', 'Spam')
Foo
Bar
Spam