我有一个字符串:
b = 'week'
我想检查最后一个角色是否是" s"。如果没有,请追加" s"。
这个是否有Pythonic单线?
答案 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'))