如何将这两行代码合并为一行(Python 3.X)?

时间:2017-05-15 15:20:32

标签: python python-3.x sorting join replace

text = ''.join(sorted([x for x in input()]))
text = text.replace('+', '', text.count('+'))

我只是喜欢它,因为你可以用Python在一行中完成各种各样的事情。

2 个答案:

答案 0 :(得分:4)

text = ''.join(sorted(input())).replace('+', '')

OR

text = ''.join(sorted(input().replace('+', '')))
  • 您不需要使用列表理解。只需将input()传递给sorted(); sorted支持任何可迭代的内容。
  • str.replace()的第三个参数是多余的。因为代码正在替换+
  • 的所有出现

答案 1 :(得分:2)

好的,这不是完全相同的代码,但在这种情况下结果类似:

text = ''.join(sorted([x for x in input() if x != '+']))

不是创建整个字符串然后替换一个字符,而是可以在第一个列表中删除它。