为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕妹3242003 2022-12-20 11:12:45
我试图想出一种方法,以所有可能(但常见)的方式(如小写、大写和大写)获取诸如“是”之类的单词列表。然后我发现你不能在这个函数中放两个词(“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")
查看完整描述

2 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

这是map()函数的典型工作。


另外,在您的函数中使用return而不是。print


def case_insensetive(text):

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

    return insensetive_string



words = ['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']


查看完整回答
反对 回复 2022-12-20
?
噜噜哒

TA贡献1784条经验 获得超7个赞

只需传递一个任意参数(*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']


查看完整回答
反对 回复 2022-12-20
  • 2 回答
  • 0 关注
  • 77 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信