大多数Pythonic和有效的方法在字符串末尾插入字符,如果还没有

时间:2016-04-25 18:43:48

标签: python string

我有一个字符串:

b = 'week'

我想检查最后一个角色是否是" s"。如果没有,请追加" s"。

这个是否有Pythonic单线?

6 个答案:

答案 0 :(得分:8)

您可以使用conditional expression

b = b + 's' if not b.endswith('s') else b

就个人而言,我仍然坚持使用两行:

if not b.endswith('s'):
    b += 's'

答案 1 :(得分:2)

def pluralize(string):
    if string:
        if string[-1] != 's':
            string += 's'

    return string

答案 2 :(得分:1)

b = b + 's' if b[-1:] != 's' else b

答案 3 :(得分:1)

我知道这是一篇旧文章,但是您可以写成一行:

b = '%ss' % b.rstrip('s')

示例

>>> string = 'week'
>>> b = '%ss' % string.rstrip('s')
>>> b
'weeks'

答案 4 :(得分:0)

另一种解决方案:

def add_s_if_not_already_there (string):
     return string + 's' * (1 - string.endswith('s'))

我仍然坚持使用两个班轮,但我喜欢算术'算术'这感觉。

答案 5 :(得分:0)

最短的方式:

b = b.rstrip('s') + 's'

但是我会这样写:

b = ''.join((b.rstrip('s'), 's'))