这就是我想要做的:
但是,为此,我可以看到3种可能的方式:
def form_statement(subject, verb, object):
greetings = ""
if subject in ("Paul", "Raj"):
greetings = "mister"
return "%s %s %s %s" % (subject, verb, object, greetings)
第二种方法是:
def form_statement(subject, verb, object):
if subject in ("Paul", "Raj"):
greetings = "mister"
else:
greetings = ""
return "%s %s %s %s" % (subject, verb, object, greetings)
第三种方法是:
def form_statement(subject, verb, object):
greetings = "mister" if subject in ("Paul", "Raj") else ""
return "%s %s %s %s" % (subject, verb, object, greetings)
还有其他更好的方法来做这样的事情吗?现在,我选择第一种方法,因为获取问候语字符串的“处理”本身就是一个函数,当使用第三种方法时,该行将超过80个字符。
编辑:似乎有人对我要使用哪种更好感到困惑(因为他们投票赞成基于观点的投票)。在这里,我试图找到一种更好的方法来做事,并举例说明我可以考虑的事情,以免其他人给出答案。正如答案之一所述,我发现在类似情况下使用字典对我来说更好。
一种Python方式是使用字典来保存主题及其亲属greetings
,然后使用dict.get()
也接受第二个参数的方法,如果字典中缺少键,则返回第二个参数。
main_dict = {"Paul":"mister", "Raj": "mister"}
def form_statement(main_dict, subject, verb, object):
greetings = main_dict.get(subject, '')
return "{} {} {} {}".format(subject, verb, object, greetings)
当您处理较大的数据集时,此方法将显示其强大功能。因为字典使用哈希表,并且其索引顺序为O(1)。同样,您可以为每个动词使用不同的结果。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句