猿问

我如何获得给定两个单词的所有组合列表?

我试图想出一种方法,以所有可能(但常见)的方式(如小写、大写和大写)获取诸如“是”之类的单词列表。然后我发现你不能在这个函数中放两个词(“sup”和“hello”)。有没有一种方法可以使用此功能将所有单词放在一个列表中,或者应该重新开始?


def case_insensetive(text) :

    insensetive_string = [text.lower(),text.upper(),text.capitalize()]

    print (insensetive_string)


try :

   case_insensetive("sup","hello")

except :

   raise Exception ("you screwed something")


慕妹3242003
浏览 78回答 2
2回答

缥缈止盈

这是map()函数的典型工作。另外,在您的函数中使用return而不是。printdef case_insensetive(text):    insensetive_string = [text.lower(),text.upper(),text.capitalize()]    return insensetive_stringwords = ['yes', 'hello']r = list(map(case_insensetive, words))print(r)输出:[['yes', 'YES', 'Yes'], ['hello', 'HELLO', 'Hello']]如果您想要一个列表,而不是嵌套列表:flat_list = [item for sublist in r for item in sublist]print(flat_list)['yes', 'YES', 'Yes', 'hello', 'HELLO', 'Hello']

噜噜哒

只需传递一个任意参数(*args)..然后就可以接受任意数量的参数..def case_insensetive(*texts):    insensetive_string = []    for text in texts:        insensetive_string+=[text.lower(),text.upper(),text.capitalize()]    print(insensetive_string)case_insensetive("sup",'hello')输出:['sup', 'SUP', 'Sup', 'hello', 'HELLO', 'Hello']
随时随地看视频慕课网APP

相关分类

Python
我要回答