一行中的多列表理解 - Python

时间:2016-02-19 18:37:42

标签: python python-2.7

这更像是一个好奇心/效率问题。我用x + 1替换字符串中的所有数字,如果它的9更改为0.我的代码破坏了:

def add_one(string):
   return ''.join([(str(int(x)+1) for x in string if x in "012345678") and (y for y in string if y != '9') and (0 for z in string if z == '9')])

目标是" 123abc99"会导致" 234abc00"。

代码可以在多行上进行,但可能在一行中有多个列表推导吗?

1 个答案:

答案 0 :(得分:1)

return "".join(str((int(x)+1) % 10) if x.isdigit() else x for x in string)
相关问题