使用带有字符串格式化运算符的startswith()

时间:2015-10-21 22:19:03

标签: python-2.7 formatting startswith

我有以下几段代码:

name = "Axe"
vowels = ["a","e","i","o","u"]    

if %s.startswith(vowels) % (name):    #name will be input from users
    print "sth"
else:
    ....

在这里,我尝试使用带有字符串格式化运算符的startswith函数,但它没有用。我也试过{}格式,但它仍然给我一个语法错误。 我做错了什么或者这不可能吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

您的代码中有一点不清楚您的意思,但这样做有效:

>>> ("%s" % 'hi').startswith('h')
True

所以我认为问题是你必须首先格式化你的字符串,然后做.startswith()。另外,我不认为startswith接受数组作为参数,所以你必须做类似的事情

if True in map(lambda x: ("%s" % name).startswith(x), vowels):
    # do something

此外,如果你想忽略你会做的事情:

if True in map(lambda x: ("%s" % name).lower().startswith(x), vowels):
    # do something

希望这有帮助!