检查多种平等的最佳方法?

时间:2011-02-05 18:50:25

标签: python

最好是在Python中,

创建检查多个等式的函数的最佳方法是什么?如果输入等于“f”,“fall”,“F”,“Fall”,“fa”等,如果“fall”在字典中,我希望函数返回1.

2 个答案:

答案 0 :(得分:2)

概括一下,听起来你有一个单词词典(命令?),并希望匹配匹配部分输入的第一个条目,不区分大小写:

D = dict(fall=None,stand=None)
trials = 'f fall F Fall fa foo Foo s ST stan'.split()

def check(t):
    for k in D:
        if k.startswith(t.lower()):
            return k
    return None

for t in trials:
    print '{0:7}{1}'.format(t,check(t))

输出

f      fall
fall   fall
F      fall
Fall   fall
fa     fall
foo    None
Foo    None
s      stand
ST     stand
stan   stand

答案 1 :(得分:0)

你可以使用filter和'len>结合使用pythonic版本1'....

input = "fall"
the_list = ["f", "fall", "F", "Fall", "fa"]
your_test = len(filter(lambda x: x == input, the_list)) > 1 \
       and "fall" in your_dictionary